Built with
Alectryon , running Lean4 v4.7.0. Bubbles (
) indicate interactive fragments: hover for details, tap to reveal contents. Use
Ctrl+↑ Ctrl+↓ to navigate,
Ctrl+🖱️ to focus. On Mac, use
⌘ instead of
Ctrl .
/-
- Created in 2024 by Gaëtan Serré
-/
/-
- https://github.com/gaetanserre/SBS-Proofs
-/
import Mathlib
import SBSProofs.Utils
open Classical MeasureTheory
local macro_rules | ` ($ x ^ $ y) => ` (HPow.hPow $ x $ y)
set_option trace.Meta.Tactic.simp.rewrite true
set_option maxHeartbeats 600000
variable {d : ℕ} {Ω : Set (Vector ℝ d)} [MeasureSpace Ω]
def L2 (μ : Measure Ω) [IsFiniteMeasure μ] := {f : Ω → ℝ | Memℒp f 2 μ}
def eigen := {e : ℕ → ℝ // ∀ i, 0 <= e i}
def f_repr (v : eigen) (e : ℕ → Ω → ℝ) (f : Ω → ℝ) (a : ℕ → ℝ) := (f = λ x ↦ (∑' i, (v. 1 i) * (a i) * (e i x))) ∧ (∀ x, Summable (λ i ↦ (v. 1 i) * (a i) * (e i x)))
/-
We define a set of functions that depends on a finite measure μ. Each function is representable by a infinite sum.
-/
def H (v : eigen) (e : ℕ → Ω → ℝ) (μ : Measure Ω) [IsFiniteMeasure μ] := {f | f ∈ L2 μ ∧ ∃ (a : ℕ → ℝ), (f_repr v e f a) ∧ Summable (λ i ↦ (v. 1 i) * (a i)^ 2 )}
def set_repr {v : eigen} {e : ℕ → Ω → ℝ} {μ : Measure Ω} [IsFiniteMeasure μ] (f : H v e μ) := {a : ℕ → ℝ | (f_repr v e f. 1 a) ∧ (Summable (λ i ↦ (v. 1 i) * (a i)^ 2 ))}
lemma set_repr_ne {v : eigen} {e : ℕ → Ω → ℝ} {μ : Measure Ω} [IsFiniteMeasure μ] (f : H v e μ) : (set_repr f). Nonempty := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
Set.Nonempty (set_repr f)
rcases f. 2 with ⟨_, ⟨a, ha⟩⟩ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)left✝ : ↑ f ∈ L2 μa : ℕ → ℝ ha : f_repr v e (↑ f) a ∧ Summable fun i => ↑ v i * a i ^ 2
intro.intro Set.Nonempty (set_repr f)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
Set.Nonempty (set_repr f)
use a d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)left✝ : ↑ f ∈ L2 μa : ℕ → ℝ ha : f_repr v e (↑ f) a ∧ Summable fun i => ↑ v i * a i ^ 2
h a ∈ set_repr f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
Set.Nonempty (set_repr f)
exact ha
/-
We assume that the the representative of each function in H is unique (property of v and e).
-/
axiom set_repr_unique {v : eigen} {e : ℕ → Ω → ℝ} {μ : Measure Ω} [IsFiniteMeasure μ] {f : H v e μ} {a b : ℕ → ℝ} (ha : a ∈ set_repr f) (hb : b ∈ set_repr f) : a = b
lemma unique_choice {v : eigen} {e : ℕ → Ω → ℝ} {μ : Measure Ω} [IsFiniteMeasure μ] {f : H v e μ} {a : ℕ → ℝ} (h : a ∈ set_repr f) : (set_repr_ne f). some = a := set_repr_unique (set_repr_ne f). some_mem h
/-
We assume that the product of two representative is summable.
-/
axiom product_summable {v : eigen} {e : ℕ → Ω → ℝ} {μ : Measure Ω} [IsFiniteMeasure μ] (f g : H v e μ) : Summable (λ i ↦ (v. 1 i) * ((set_repr_ne f). some i) * ((set_repr_ne g). some i))
/-
We define the multiplication between a real number and a function in H as the pointwise product. We show that the result lies in H.
-/
namespace Ring
variable {v : eigen} {e : ℕ → Ω → ℝ} {μ : Measure Ω} [IsFiniteMeasure μ] (f g : H v e μ)
lemma mul_repr (a : ℝ) : f_repr v e (λ x ↦ a * f. 1 x) (λ i ↦ a * (set_repr_ne f). some i) := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
let g := λ x ↦ a * f. 1 xd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝ
f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
let h := (set_repr_ne f). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ
f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
let g_h := λ i ↦ a * h id : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ
f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
have f_repr : h ∈ set_repr f := (set_repr_ne f). some_memd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f
_root_.f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
constructor d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f
left (fun x => a * ↑ f x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
· d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f
left (fun x => a * ↑ f x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f
left (fun x => a * ↑ f x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f x : ↑ Ω
left.h a * ↑ f x = ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f
left (fun x => a * ↑ f x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
rcases f_repr with ⟨⟨f_repr, _⟩, _⟩ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i x
left.h.intro.intro a * ↑ f x = ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f
left (fun x => a * ↑ f x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
have g_eq_tsum : g = λ x ↦ ∑' i, v. 1 i * a * h i * e i x := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i x
left.h.intro.intro a * ↑ f x = ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i x
g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i x
g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i x
g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ω
h g x = ∑' (i : ℕ), ↑ v i * a * h i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i x
g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x
have comm : ∀ i, v. 1 i * a * h i * e i x = a * v. 1 i * h i * e i x := λ i ↦ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ω
h g x = ∑' (i : ℕ), ↑ v i * a * h i * e i x
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωi : ℕ
↑ v i * a * h i * e i x = a * ↑ v i * h i * e i x
ring
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i x
g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i x
h g x = ∑' (i : ℕ), ↑ v i * a * h i * e i x
comm [Meta.Tactic.simp.rewrite] comm:1000 , ↑ v i * a * h i * e i x ==> a * ↑ v i * h i * e i x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i x
h g x = ∑' (i : ℕ), a * ↑ v i * h i * e i x
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i x
h g x = ∑' (i : ℕ), a * ↑ v i * h i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i x
g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x
have summand_comm : ∀ i, a * v. 1 i * h i * e i x = a * (v. 1 i * h i * e i x) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i x
h g x = ∑' (i : ℕ), a * ↑ v i * h i * e i x
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i x
∀ (i : ℕ), a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i x
∀ (i : ℕ), a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i x
∀ (i : ℕ), a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)
intro i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i xi : ℕ
a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i x
∀ (i : ℕ), a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i x
g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i xsummand_comm : ∀ (i : ℕ), a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)
h g x = ∑' (i : ℕ), a * ↑ v i * h i * e i x
summand_comm [Meta.Tactic.simp.rewrite] summand_comm:1000 , a * ↑ v i * h i * e i x ==> a * (↑ v i * h i * e i x) d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i xsummand_comm : ∀ (i : ℕ), a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)
h g x = ∑' (i : ℕ), a * (↑ v i * h i * e i x)
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i xsummand_comm : ∀ (i : ℕ), a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)
h g x = ∑' (i : ℕ), a * (↑ v i * h i * e i x)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i x
g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x
have const_out : ∑' i, a * (λ i ↦ (v. 1 i * h i * e i x)) i = a * ∑' i, (λ i ↦ (v. 1 i * h i * e i x)) i := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i xsummand_comm : ∀ (i : ℕ), a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)
h g x = ∑' (i : ℕ), a * (↑ v i * h i * e i x)
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i xsummand_comm : ∀ (i : ℕ), a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)
∑' (i : ℕ), a * (fun i => ↑ v i * h i * e i x) i = a * ∑' (i : ℕ), (fun i => ↑ v i * h i * e i x) i
exact tsum_mul_left
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i x
g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i xsummand_comm : ∀ (i : ℕ), a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)const_out : ∑' (i : ℕ), a * (fun i => ↑ v i * h i * e i x) i = a * ∑' (i : ℕ), (fun i => ↑ v i * h i * e i x) i
h g x = ∑' (i : ℕ), a * (↑ v i * h i * e i x)
const_out, d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i xsummand_comm : ∀ (i : ℕ), a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)const_out : ∑' (i : ℕ), a * (fun i => ↑ v i * h i * e i x) i = a * ∑' (i : ℕ), (fun i => ↑ v i * h i * e i x) i
h g x = a * ∑' (i : ℕ), (fun i => ↑ v i * h i * e i x) i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i xsummand_comm : ∀ (i : ℕ), a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)const_out : ∑' (i : ℕ), a * (fun i => ↑ v i * h i * e i x) i = a * ∑' (i : ℕ), (fun i => ↑ v i * h i * e i x) i
h g x = ∑' (i : ℕ), a * (↑ v i * h i * e i x)
← congrFun f_repr xd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x✝ : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xx : ↑ Ωcomm : ∀ (i : ℕ), ↑ v i * a * h i * e i x = a * ↑ v i * h i * e i xsummand_comm : ∀ (i : ℕ), a * ↑ v i * h i * e i x = a * (↑ v i * h i * e i x)const_out : ∑' (i : ℕ), a * (fun i => ↑ v i * h i * e i x) i = a * ∑' (i : ℕ), (fun i => ↑ v i * h i * e i x) i
h g x = a * ↑ f x
]
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f
left (fun x => a * ↑ f x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
have g_x := congrFun g_eq_tsum xd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xg_eq_tsum : g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x g_x : g x = ∑' (i : ℕ), ↑ v i * a * h i * e i x
left.h.intro.intro a * ↑ f x = ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f
left (fun x => a * ↑ f x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xg_eq_tsum : g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x g_x : g x = ∑' (i : ℕ), ↑ v i * a * h i * e i x
left.h.intro.intro a * ↑ f x = ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
show ∀ i, v. 1 i * a * h i * e i x = v. 1 i * (a * h i) * e i x by [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * a * h i * e i x = v. 1 i * (a * h i) * e i x by intro i;
ring:1000 , ↑ v i * a * h i * e i x ==> ↑ v i * (a * h i) * e i x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xg_eq_tsum : g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x g_x : g x = ∑' (i : ℕ), ↑ v i * a * h i * e i x
left.h.intro.intro a * ↑ f x = ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
intro i [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * a * h i * e i x = v. 1 i * (a * h i) * e i x by intro i;
ring:1000 , ↑ v i * a * h i * e i x ==> ↑ v i * (a * h i) * e i x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xg_eq_tsum : g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x g_x : g x = ∑' (i : ℕ), ↑ v i * a * h i * e i x i : ℕ
↑ v i * a * h i * e i x = ↑ v i * (a * h i) * e i x
; [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * a * h i * e i x = v. 1 i * (a * h i) * e i x by intro i;
ring:1000 , ↑ v i * a * h i * e i x ==> ↑ v i * (a * h i) * e i x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xg_eq_tsum : g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x g_x : g x = ∑' (i : ℕ), ↑ v i * a * h i * e i x i : ℕ
↑ v i * a * h i * e i x = ↑ v i * (a * h i) * e i x
[Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * a * h i * e i x = v. 1 i * (a * h i) * e i x by intro i;
ring:1000 , ↑ v i * a * h i * e i x ==> ↑ v i * (a * h i) * e i x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xg_eq_tsum : g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x g_x : g x = ∑' (i : ℕ), ↑ v i * a * h i * e i x
∀ (i : ℕ), ↑ v i * a * h i * e i x = ↑ v i * (a * h i) * e i x
ring [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * a * h i * e i x = v. 1 i * (a * h i) * e i x by intro i;
ring:1000 , ↑ v i * a * h i * e i x ==> ↑ v i * (a * h i) * e i x ] at g_x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xg_eq_tsum : g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x g_x : g x = ∑' (i : ℕ), ↑ v i * (a * h i) * e i x
left.h.intro.intro a * ↑ f x = ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f
left (fun x => a * ↑ f x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xg_eq_tsum : g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x g_x : g x = ∑' (i : ℕ), ↑ v i * (a * h i) * e i x
left.h.intro.intro a * ↑ f x = ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
show ∀ i, a * h i = g_h i by [Meta.Tactic.simp.rewrite] show ∀ i, a * h i = g_h i by intro i; rfl:1000 , a * h i ==> g_h i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xg_eq_tsum : g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x g_x : g x = ∑' (i : ℕ), ↑ v i * (a * h i) * e i x
left.h.intro.intro a * ↑ f x = ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
intro i [Meta.Tactic.simp.rewrite] show ∀ i, a * h i = g_h i by intro i; rfl:1000 , a * h i ==> g_h i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xg_eq_tsum : g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x g_x : g x = ∑' (i : ℕ), ↑ v i * (a * h i) * e i x i : ℕ
a * h i = g_h i
; [Meta.Tactic.simp.rewrite] show ∀ i, a * h i = g_h i by intro i; rfl:1000 , a * h i ==> g_h i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xg_eq_tsum : g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x g_x : g x = ∑' (i : ℕ), ↑ v i * (a * h i) * e i x i : ℕ
a * h i = g_h i
[Meta.Tactic.simp.rewrite] show ∀ i, a * h i = g_h i by intro i; rfl:1000 , a * h i ==> g_h i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xg_eq_tsum : g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x g_x : g x = ∑' (i : ℕ), ↑ v i * (a * h i) * e i x
∀ (i : ℕ), a * h i = g_h i
rfl [Meta.Tactic.simp.rewrite] show ∀ i, a * h i = g_h i by intro i; rfl:1000 , a * h i ==> g_h i ] at g_x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ x : ↑ Ωright✝¹ : Summable fun i => ↑ v i * h i ^ 2 f_repr : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * h i * e i xright✝ : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * h i * e i xg_eq_tsum : g = fun x => ∑' (i : ℕ), ↑ v i * a * h i * e i x g_x : g x = ∑' (i : ℕ), ↑ v i * g_h i * e i x
left.h.intro.intro a * ↑ f x = ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f
left (fun x => a * ↑ f x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
exact g_x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
intro x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f x : ↑ Ω
right Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
have remove_function : (λ i ↦ v. 1 i * (λ i ↦ a * h i) i * e i x) = (λ i ↦ a * (v. 1 i * h i * e i x)) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f x : ↑ Ω
right Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f x : ↑ Ω
(fun i => ↑ v i * (fun i => a * h i) i * e i x) = fun i => a * (↑ v i * h i * e i x)
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f x : ↑ Ω
(fun i => ↑ v i * (fun i => a * h i) i * e i x) = fun i => a * (↑ v i * h i * e i x)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f x : ↑ Ω
(fun i => ↑ v i * (fun i => a * h i) i * e i x) = fun i => a * (↑ v i * h i * e i x)
ext i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f x : ↑ Ωi : ℕ
h ↑ v i * (fun i => a * h i) i * e i x = a * (↑ v i * h i * e i x)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f x : ↑ Ω
(fun i => ↑ v i * (fun i => a * h i) i * e i x) = fun i => a * (↑ v i * h i * e i x)
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f x : ↑ Ωremove_function : (fun i => ↑ v i * (fun i => a * h i) i * e i x) = fun i => a * (↑ v i * h i * e i x)
right Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i * e i x
remove_function d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f x : ↑ Ωremove_function : (fun i => ↑ v i * (fun i => a * h i) i * e i x) = fun i => a * (↑ v i * h i * e i x)
right Summable fun i => a * (↑ v i * h i * e i x)
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝh := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ f_repr : h ∈ set_repr f x : ↑ Ωremove_function : (fun i => ↑ v i * (fun i => a * h i) i * e i x) = fun i => a * (↑ v i * h i * e i x)
right Summable fun i => a * (↑ v i * h i * e i x)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
f_repr v e (fun x => a * ↑ f x) fun i => a * Set.Nonempty.some ⋯ i
exact (f_repr. 1 . 2 x). mul_left a
lemma mul_summable (a : ℝ) : Summable (λ i ↦ v. 1 i * (λ i ↦ a * (set_repr_ne f). some i) i ^ 2 ) := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i ^ 2
let h := (set_repr_ne f). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ
Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i ^ 2
let g_h := λ i ↦ a * h id : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ
Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i ^ 2
have set_repr : h ∈ set_repr f := (set_repr_ne f). some_memd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ set_repr : h ∈ _root_.set_repr f
Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i ^ 2
rcases set_repr with ⟨_, h_summable⟩ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2
intro Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i ^ 2
have comm_fun : (λ i ↦ v. 1 i * (g_h i)^ 2 ) = (λ i ↦ a^ 2 * (v. 1 i * (h i)^ 2 )) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2
intro Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i ^ 2
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2
(fun i => ↑ v i * g_h i ^ 2 ) = fun i => a ^ 2 * (↑ v i * h i ^ 2 )
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2
(fun i => ↑ v i * g_h i ^ 2 ) = fun i => a ^ 2 * (↑ v i * h i ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2
(fun i => ↑ v i * g_h i ^ 2 ) = fun i => a ^ 2 * (↑ v i * h i ^ 2 )
ext i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2 i : ℕ
h ↑ v i * g_h i ^ 2 = a ^ 2 * (↑ v i * h i ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2
(fun i => ↑ v i * g_h i ^ 2 ) = fun i => a ^ 2 * (↑ v i * h i ^ 2 )
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2 i : ℕ
h ↑ v i * g_h i ^ 2 = a ^ 2 * (↑ v i * h i ^ 2 )
show g_h i = a * h i by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2 i : ℕ
h ↑ v i * g_h i ^ 2 = a ^ 2 * (↑ v i * h i ^ 2 )
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2 i : ℕ
h ↑ v i * (a * h i) ^ 2 = a ^ 2 * (↑ v i * h i ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2
(fun i => ↑ v i * g_h i ^ 2 ) = fun i => a ^ 2 * (↑ v i * h i ^ 2 )
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2 i : ℕ
h ↑ v i * (a * h i) ^ 2 = a ^ 2 * (↑ v i * h i ^ 2 )
mul_pow a (h i) 2 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2 i : ℕ
h ↑ v i * (a ^ 2 * h i ^ 2 ) = a ^ 2 * (↑ v i * h i ^ 2 )
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2 i : ℕ
h ↑ v i * (a ^ 2 * h i ^ 2 ) = a ^ 2 * (↑ v i * h i ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2
(fun i => ↑ v i * g_h i ^ 2 ) = fun i => a ^ 2 * (↑ v i * h i ^ 2 )
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2 i : ℕ
h ↑ v i * (a ^ 2 * h i ^ 2 ) = a ^ 2 * (↑ v i * h i ^ 2 )
show (v. 1 i) * (a^ 2 * (h i)^ 2 ) = (a^ 2 ) * (v. 1 i * (h i)^ 2 ) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2 i : ℕ
h ↑ v i * (a ^ 2 * h i ^ 2 ) = a ^ 2 * (↑ v i * h i ^ 2 )
ring ]
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2 comm_fun : (fun i => ↑ v i * g_h i ^ 2 ) = fun i => a ^ 2 * (↑ v i * h i ^ 2 )
intro Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i ^ 2
comm_fun d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2 comm_fun : (fun i => ↑ v i * g_h i ^ 2 ) = fun i => a ^ 2 * (↑ v i * h i ^ 2 )
intro Summable fun i => a ^ 2 * (↑ v i * h i ^ 2 )
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ left✝ : f_repr v e (↑ f) h h_summable : Summable fun i => ↑ v i * h i ^ 2 comm_fun : (fun i => ↑ v i * g_h i ^ 2 ) = fun i => a ^ 2 * (↑ v i * h i ^ 2 )
intro Summable fun i => a ^ 2 * (↑ v i * h i ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
Summable fun i => ↑ v i * (fun i => a * Set.Nonempty.some ⋯ i) i ^ 2
exact (h_summable.mul_left (a^ 2 ))
lemma mul_in_H (a : ℝ) : (λ x ↦ a * f. 1 x) ∈ (H v e μ) := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
(fun x => a * ↑ f x) ∈ H v e μ
let g := λ x ↦ a * f. 1 xd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝ
(fun x => a * ↑ f x) ∈ H v e μ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
(fun x => a * ↑ f x) ∈ H v e μ
have g_in_L2 : g ∈ L2 μ := Memℒp.const_mul (f. 2 ). 1 ad : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝg_in_L2 : g ∈ L2 μ
(fun x => a * ↑ f x) ∈ H v e μ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
(fun x => a * ↑ f x) ∈ H v e μ
let h := (set_repr_ne f). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝg_in_L2 : g ∈ L2 μ h := Set.Nonempty.some ⋯ : ℕ → ℝ
(fun x => a * ↑ f x) ∈ H v e μ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
(fun x => a * ↑ f x) ∈ H v e μ
let g_h := λ i ↦ a * h id : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g✝ : ↑ (H v e μ)a : ℝ g := fun x => a * ↑ f x: ↑ Ω → ℝg_in_L2 : g ∈ L2 μ h := Set.Nonempty.some ⋯ : ℕ → ℝ g_h := fun i => a * h i: ℕ → ℝ
(fun x => a * ↑ f x) ∈ H v e μ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
(fun x => a * ↑ f x) ∈ H v e μ
refine ⟨g_in_L2, g_h, mul_repr f a, mul_summable f a⟩
instance : HMul ℝ (H v e μ) (H v e μ) where
hMul := λ a f ↦ ⟨λ x ↦ a * f. 1 x, mul_in_H f a⟩
instance : HSMul ℝ (H v e μ) (H v e μ) where
hSMul := λ r f ↦ r * f
end Ring
/-
We define the sum between two functions in H as the pointwise sum. We show that the result lies in H. We also define the 0 function of H. We show several properties on the addition.
-/
namespace Group
variable {v : eigen} {e : ℕ → Ω → ℝ} {μ : Measure Ω} [IsFiniteMeasure μ] (f g : H v e μ)
lemma add_in_L2 : (λ x ↦ f. 1 x + g. 1 x) ∈ L2 μ := Memℒp.add (f. 2 . 1 ) (g. 2 . 1 )
lemma add_summable : Summable (λ i ↦ v. 1 i * ((set_repr_ne f). some i + (set_repr_ne g). some i)^ 2 ) := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Summable fun i => ↑ v i * (Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) ^ 2
let a_f := (set_repr_ne f). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ
Summable fun i => ↑ v i * (Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Summable fun i => ↑ v i * (Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) ^ 2
let a_g := (set_repr_ne g). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ
Summable fun i => ↑ v i * (Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Summable fun i => ↑ v i * (Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) ^ 2
have f_eq : (λ i ↦ v. 1 i * (a_f i + a_g i)^ 2 ) = (λ i ↦ v. 1 i * a_f i * a_f i + 2 * (v. 1 i * a_f i * a_g i) + v. 1 i * a_g i * a_g i) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ
Summable fun i => ↑ v i * (Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) ^ 2
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ
(fun i => ↑ v i * (a_f i + a_g i) ^ 2 ) = fun i =>
↑ v i * a_f i * a_f i + 2 * (↑ v i * a_f i * a_g i) + ↑ v i * a_g i * a_g i
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ
(fun i => ↑ v i * (a_f i + a_g i) ^ 2 ) = fun i =>
↑ v i * a_f i * a_f i + 2 * (↑ v i * a_f i * a_g i) + ↑ v i * a_g i * a_g i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ
(fun i => ↑ v i * (a_f i + a_g i) ^ 2 ) = fun i =>
↑ v i * a_f i * a_f i + 2 * (↑ v i * a_f i * a_g i) + ↑ v i * a_g i * a_g i
ext i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ i : ℕ
h ↑ v i * (a_f i + a_g i) ^ 2 = ↑ v i * a_f i * a_f i + 2 * (↑ v i * a_f i * a_g i) + ↑ v i * a_g i * a_g i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ
(fun i => ↑ v i * (a_f i + a_g i) ^ 2 ) = fun i =>
↑ v i * a_f i * a_f i + 2 * (↑ v i * a_f i * a_g i) + ↑ v i * a_g i * a_g i
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Summable fun i => ↑ v i * (Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ f_eq : (fun i => ↑ v i * (a_f i + a_g i) ^ 2 ) = fun i =>
↑ v i * a_f i * a_f i + 2 * (↑ v i * a_f i * a_g i) + ↑ v i * a_g i * a_g i
Summable fun i => ↑ v i * (Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) ^ 2
f_eq d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ f_eq : (fun i => ↑ v i * (a_f i + a_g i) ^ 2 ) = fun i =>
↑ v i * a_f i * a_f i + 2 * (↑ v i * a_f i * a_g i) + ↑ v i * a_g i * a_g i
Summable fun i => ↑ v i * a_f i * a_f i + 2 * (↑ v i * a_f i * a_g i) + ↑ v i * a_g i * a_g i
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ f_eq : (fun i => ↑ v i * (a_f i + a_g i) ^ 2 ) = fun i =>
↑ v i * a_f i * a_f i + 2 * (↑ v i * a_f i * a_g i) + ↑ v i * a_g i * a_g i
Summable fun i => ↑ v i * a_f i * a_f i + 2 * (↑ v i * a_f i * a_g i) + ↑ v i * a_g i * a_g i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Summable fun i => ↑ v i * (Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) ^ 2
exact ((product_summable f f). add ((product_summable f g). mul_left 2 )). add (product_summable g g)
lemma add_repr : f_repr v e (λ x ↦ f. 1 x + g. 1 x) (λ i ↦ (set_repr_ne f). some i + (set_repr_ne g). some i) := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
let a_f := (set_repr_ne f). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ
f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
let a_g := (set_repr_ne g). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ
f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
obtain ⟨af_repr, _⟩ := (set_repr_ne f). some_mem d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2
intro f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
obtain ⟨ag_repr, _⟩ := (set_repr_ne g). some_mem d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2
intro.intro f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
have summand_distrib : ∀ x, ∀ i, v. 1 i * (a_f i + a_g i) * e i x = v. 1 i * a_f i * e i x + v. 1 i * a_g i * e i x := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2
intro.intro f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2
∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x
intro x i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 x : ↑ Ωi : ℕ
↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x
; d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 x : ↑ Ωi : ℕ
↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2
∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x
ring
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
constructor d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x
intro.intro.left (fun x => ↑ f x + ↑ g x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
· d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x
intro.intro.left (fun x => ↑ f x + ↑ g x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x
intro.intro.left (fun x => ↑ f x + ↑ g x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) i * e i x
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.left.h ↑ f x + ↑ g x = ∑' (i : ℕ), ↑ v i * (fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x
intro.intro.left (fun x => ↑ f x + ↑ g x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) i * e i x
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.left.h ↑ f x + ↑ g x = ∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) * e i x
summand_distrib x [Meta.Tactic.simp.rewrite] summand_distrib
x:1000 , ↑ v i * (Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) *
e i x ==> ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.left.h ↑ f x + ↑ g x = ∑' (i : ℕ), (↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x)
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.left.h ↑ f x + ↑ g x = ∑' (i : ℕ), (↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x
intro.intro.left (fun x => ↑ f x + ↑ g x) = fun x => ∑' (i : ℕ), ↑ v i * (fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) i * e i x
rw [
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.left.h ↑ f x + ↑ g x = ∑' (i : ℕ), (↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x)
tsum_add (af_repr. 2 x) (ag_repr. 2 x), d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.left.h ↑ f x + ↑ g x = ∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * e b x + ∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * e b x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.left.h ↑ f x + ↑ g x = ∑' (i : ℕ), (↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x)
← congrFun af_repr. 1 x,d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.left.h ↑ f x + ↑ g x = ↑ f x + ∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * e b x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.left.h ↑ f x + ↑ g x = ∑' (i : ℕ), (↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x)
← congrFun ag_repr. 1 xd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.left.h ↑ f x + ↑ g x = ↑ f x + ↑ g x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.left.h ↑ f x + ↑ g x = ∑' (i : ℕ), (↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x)
]
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
intro x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.right Summable fun i => ↑ v i * (fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.right Summable fun i => ↑ v i * (Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) * e i x
summand_distrib x [Meta.Tactic.simp.rewrite] summand_distrib
x:1000 , ↑ v i * (Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) *
e i x ==> ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.right Summable fun i => ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ af_repr : f_repr v e (↑ f) (Set.Nonempty.some ⋯ ) right✝¹ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ag_repr : f_repr v e (↑ g) (Set.Nonempty.some ⋯ ) right✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 summand_distrib : ∀ (x : ↑ Ω) (i : ℕ), ↑ v i * (a_f i + a_g i) * e i x = ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i xx : ↑ Ω
intro.intro.right Summable fun i => ↑ v i * a_f i * e i x + ↑ v i * a_g i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e (fun x => ↑ f x + ↑ g x) fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i
exact (af_repr. 2 x). add (ag_repr. 2 x)
/-
We define the 0 of H as pointwise 0 function. We show that it lies in H.
-/
def zero : Ω → ℝ := λ _ ↦ 0
lemma zero_repr : f_repr v e zero (λ _ ↦ 0 ) := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e zero fun x => 0
let a : ℕ → ℝ := λ _ ↦ 0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
f_repr v e zero fun x => 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e zero fun x => 0
constructor d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
left zero = fun x => ∑' (i : ℕ), ↑ v i * (fun x => 0 ) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e zero fun x => 0
· d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
left zero = fun x => ∑' (i : ℕ), ↑ v i * (fun x => 0 ) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
left zero = fun x => ∑' (i : ℕ), ↑ v i * (fun x => 0 ) i * e i x
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
left.h zero x = ∑' (i : ℕ), ↑ v i * (fun x => 0 ) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
left zero = fun x => ∑' (i : ℕ), ↑ v i * (fun x => 0 ) i * e i x
have summand_zero : ∀ i, v. 1 i * a i * e i x = 0 := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
left.h zero x = ∑' (i : ℕ), ↑ v i * (fun x => 0 ) i * e i x
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
∀ (i : ℕ), ↑ v i * a i * e i x = 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
∀ (i : ℕ), ↑ v i * a i * e i x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
∀ (i : ℕ), ↑ v i * a i * e i x = 0
intro i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωi : ℕ
↑ v i * a i * e i x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
∀ (i : ℕ), ↑ v i * a i * e i x = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωi : ℕ
↑ v i * a i * e i x = 0
show v. 1 i * a i * e i x = v. 1 i * 0 * e i x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωi : ℕ
↑ v i * a i * e i x = 0
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωi : ℕ
↑ v i * 0 * e i x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
∀ (i : ℕ), ↑ v i * a i * e i x = 0
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
left zero = fun x => ∑' (i : ℕ), ↑ v i * (fun x => 0 ) i * e i x
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωsummand_zero : ∀ (i : ℕ), ↑ v i * a i * e i x = 0
left.h zero x = ∑' (i : ℕ), ↑ v i * 0 * e i x
summand_zero [Meta.Tactic.simp.rewrite] summand_zero:1000 , ↑ v i * 0 * e i x ==> 0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωsummand_zero : ∀ (i : ℕ), ↑ v i * a i * e i x = 0
left.h zero x = ∑' (i : ℕ), ↑ v i * 0 * e i x
, d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωsummand_zero : ∀ (i : ℕ), ↑ v i * a i * e i x = 0
left.h zero x = ∑' (i : ℕ), 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωsummand_zero : ∀ (i : ℕ), ↑ v i * a i * e i x = 0
left.h zero x = ∑' (i : ℕ), ↑ v i * (fun x => 0 ) i * e i x
tsum_zero [Meta.Tactic.simp.rewrite] @ tsum_zero:1000 , ∑' (i : ℕ), 0 ==> 0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωsummand_zero : ∀ (i : ℕ), ↑ v i * a i * e i x = 0
left.h zero x = 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωsummand_zero : ∀ (i : ℕ), ↑ v i * a i * e i x = 0
left.h zero x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
left zero = fun x => ∑' (i : ℕ), ↑ v i * (fun x => 0 ) i * e i x
rfl
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e zero fun x => 0
intro x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
right Summable fun i => ↑ v i * (fun x => 0 ) i * e i x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e zero fun x => 0
have null_function : (λ i ↦ (v. 1 i) * (a i) * (e i x)) = (λ (d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
right Summable fun i => ↑ v i * (fun x => 0 ) i * e i x
i Warning: unused variable `i ` [linter.unusedVariables] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
right Summable fun i => ↑ v i * (fun x => 0 ) i * e i x
: ℕ) ↦ (0 : ℝ)) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
right Summable fun i => ↑ v i * (fun x => 0 ) i * e i x
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
(fun i => ↑ v i * a i * e i x) = fun i => 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
(fun i => ↑ v i * a i * e i x) = fun i => 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
(fun i => ↑ v i * a i * e i x) = fun i => 0
ext i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωi : ℕ
h ↑ v i * a i * e i x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
(fun i => ↑ v i * a i * e i x) = fun i => 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωi : ℕ
h ↑ v i * a i * e i x = 0
show a i = 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωi : ℕ
h ↑ v i * a i * e i x = 0
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωi : ℕ
h ↑ v i * 0 * e i x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ω
(fun i => ↑ v i * a i * e i x) = fun i => 0
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e zero fun x => 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωnull_function : (fun i => ↑ v i * a i * e i x) = fun i => 0
right Summable fun i => ↑ v i * (fun x => 0 ) i * e i x
null_function d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωnull_function : (fun i => ↑ v i * a i * e i x) = fun i => 0
right Summable fun i => 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ x : ↑ Ωnull_function : (fun i => ↑ v i * a i * e i x) = fun i => 0
right Summable fun i => 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
f_repr v e zero fun x => 0
exact summable_zero
lemma zero_summable : Summable (λ i ↦ (v. 1 i) * (0 : ℝ)^ 2 ) := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Summable fun i => ↑ v i * 0 ^ 2
have zero_fun : (λ i ↦ v. 1 i * (0 : ℝ)^ 2 ) = (λ (d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Summable fun i => ↑ v i * 0 ^ 2
i Warning: unused variable `i ` [linter.unusedVariables] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Summable fun i => ↑ v i * 0 ^ 2
: ℕ) ↦ (0 : ℝ)) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Summable fun i => ↑ v i * 0 ^ 2
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
(fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
(fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
(fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
ext i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)i : ℕ
h ↑ v i * 0 ^ 2 = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
(fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Summable fun i => ↑ v i * 0 ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)zero_fun : (fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
Summable fun i => ↑ v i * 0 ^ 2
zero_fun d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)zero_fun : (fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
Summable fun i => 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)zero_fun : (fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
Summable fun i => 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Summable fun i => ↑ v i * 0 ^ 2
have hf : ∀ b ∉ (∅ : Finset ℕ), (λ (d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)zero_fun : (fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
Summable fun i => 0
i Warning: unused variable `i ` [linter.unusedVariables] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)zero_fun : (fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
Summable fun i => 0
: ℕ) ↦ (0 : ℝ)) b = 0 := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)zero_fun : (fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
Summable fun i => 0
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)zero_fun : (fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
∀ b ∉ ∅ , (fun i => 0 ) b = 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)zero_fun : (fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
∀ b ∉ ∅ , (fun i => 0 ) b = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)zero_fun : (fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
∀ b ∉ ∅ , (fun i => 0 ) b = 0
intro b d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)zero_fun : (fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
∀ b ∉ ∅ , (fun i => 0 ) b = 0
b_not_in Warning: unused variable `b_not_in ` [linter.unusedVariables] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)zero_fun : (fun i => ↑ v i * 0 ^ 2 ) = fun i => 0 b : ℕ b_not_in : b ∉ ∅
(fun i => 0 ) b = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)zero_fun : (fun i => ↑ v i * 0 ^ 2 ) = fun i => 0
∀ b ∉ ∅ , (fun i => 0 ) b = 0
rfl
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Summable fun i => ↑ v i * 0 ^ 2
exact summable_of_ne_finset_zero hf
lemma zero_in_H : zero ∈ L2 μ ∧ ∃ (a : ℕ → ℝ), (f_repr v e zero a) ∧ Summable (λ i ↦ (v. 1 i) * (a i)^ 2 ) := ⟨memℒp_const 0 , (λ _ ↦ 0 ), zero_repr, zero_summable⟩
instance : Zero (H v e μ) where
zero := ⟨zero, zero_in_H⟩
lemma zero_unique_repr : (set_repr_ne (0 : H v e μ)). some = (λ i ↦ 0 ) := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Set.Nonempty.some ⋯ = fun i => 0
let a : ℕ → ℝ := λ _ ↦ 0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
Set.Nonempty.some ⋯ = fun i => 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Set.Nonempty.some ⋯ = fun i => 0
have a_in_repr : a ∈ set_repr (0 : H v e μ) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
Set.Nonempty.some ⋯ = fun i => 0
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
a ∈ set_repr 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
a ∈ set_repr 0
--have tmp := zero_repr
refine ⟨(zero_repr : f_repr v e (0 : H v e μ). 1 a), ? _⟩ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
Summable fun i => ↑ v i * a i ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
a ∈ set_repr 0
have null_function : (λ i ↦ v. 1 i * (a i)^ 2 ) = λ (d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
Summable fun i => ↑ v i * a i ^ 2
i Warning: unused variable `i ` [linter.unusedVariables] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
Summable fun i => ↑ v i * a i ^ 2
: ℕ) ↦ (0 : ℝ) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
Summable fun i => ↑ v i * a i ^ 2
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
(fun i => ↑ v i * a i ^ 2 ) = fun i => 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
(fun i => ↑ v i * a i ^ 2 ) = fun i => 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
(fun i => ↑ v i * a i ^ 2 ) = fun i => 0
ext i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ i : ℕ
h ↑ v i * a i ^ 2 = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
(fun i => ↑ v i * a i ^ 2 ) = fun i => 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ i : ℕ
h ↑ v i * a i ^ 2 = 0
show a i = 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ i : ℕ
h ↑ v i * a i ^ 2 = 0
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ i : ℕ
h ↑ v i * 0 ^ 2 = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
(fun i => ↑ v i * a i ^ 2 ) = fun i => 0
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
a ∈ set_repr 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ null_function : (fun i => ↑ v i * a i ^ 2 ) = fun i => 0
Summable fun i => ↑ v i * a i ^ 2
null_function d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ null_function : (fun i => ↑ v i * a i ^ 2 ) = fun i => 0
Summable fun i => 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ null_function : (fun i => ↑ v i * a i ^ 2 ) = fun i => 0
Summable fun i => 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := fun x => 0 : ℕ → ℝ
a ∈ set_repr 0
exact summable_zero
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
Set.Nonempty.some ⋯ = fun i => 0
exact unique_choice a_in_repr
lemma add_in_H : (λ x ↦ f. 1 x + g. 1 x) ∈ H v e μ := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
(fun x => ↑ f x + ↑ g x) ∈ H v e μ
let h := λ i ↦ (set_repr_ne f). some i + (set_repr_ne g). some id : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)h := fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i: ℕ → ℝ
(fun x => ↑ f x + ↑ g x) ∈ H v e μ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
(fun x => ↑ f x + ↑ g x) ∈ H v e μ
exact ⟨add_in_L2 f g, h, add_repr f g, add_summable f g⟩
instance : HAdd (H v e μ) (H v e μ) (H v e μ) where
hAdd := λ f g ↦ ⟨(λ x ↦ f. 1 x + g. 1 x), add_in_H f g⟩
instance : HSub (H v e μ) (H v e μ) (H v e μ) where
hSub := λ f g ↦ f + (- 1 : ℝ) * g
instance : Neg (H v e μ) where
neg := λ f ↦ (- 1 : ℝ) * f
lemma H_add_assoc (a b c : H v e μ) : a + b + c = a + (b + c) := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
a + b + c = a + (b + c)
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a + b + c) x = ↑ (a + (b + c)) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
a + b + c = a + (b + c)
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a + b + c) x = ↑ (a + (b + c)) x
show (a + b + c). 1 x = a. 1 x + b. 1 x + c. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a + b + c) x = ↑ (a + (b + c)) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ b x + ↑ c x = ↑ (a + (b + c)) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
a + b + c = a + (b + c)
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ b x + ↑ c x = ↑ (a + (b + c)) x
show (a + (b + c)). 1 x = a. 1 x + (b. 1 x + c. 1 x) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ b x + ↑ c x = ↑ (a + (b + c)) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ b x + ↑ c x = ↑ a x + (↑ b x + ↑ c x)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
a + b + c = a + (b + c)
ring
lemma H_add_comm (a b : H v e μ) : a + b = b + a := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
a + b = b + a
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a + b) x = ↑ (b + a) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
a + b = b + a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a + b) x = ↑ (b + a) x
show (a + b). 1 x = a. 1 x + b. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a + b) x = ↑ (b + a) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ b x = ↑ (b + a) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
a + b = b + a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ b x = ↑ (b + a) x
show (b + a). 1 x = b. 1 x + a. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ b x = ↑ (b + a) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ b x = ↑ b x + ↑ a x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
a + b = b + a
ring
lemma H_add_zero (a : H v e μ) : a + 0 = a := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a + 0 = a
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a + 0 ) x = ↑ a x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a + 0 = a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a + 0 ) x = ↑ a x
show (a + 0 ). 1 x = a. 1 x + (0 : H v e μ). 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a + 0 ) x = ↑ a x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ 0 x = ↑ a x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a + 0 = a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ 0 x = ↑ a x
show (0 : H v e μ). 1 x = 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ 0 x = ↑ a x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + 0 = ↑ a x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a + 0 = a
ring
lemma H_zero_add (a : H v e μ) : 0 + a = a := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
0 + a = a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
0 + a = a
H_add_comm 0 a d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a + 0 = a
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a + 0 = a
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
0 + a = a
exact H_add_zero a
lemma H_add_left_neg (a : H v e μ) : - a + a = 0 := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
- a + a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
- a + a = 0
show - a = (- 1 : ℝ) * a by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
- a + a = 0
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
- 1 * a + a = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
- a + a = 0
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (- 1 * a + a) x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
- a + a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (- 1 * a + a) x = ↑ 0 x
show ((- 1 : ℝ) * a + a). 1 x = ((- 1 : ℝ) * a). 1 x + a. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (- 1 * a + a) x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (- 1 * a) x + ↑ a x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
- a + a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (- 1 * a) x + ↑ a x = ↑ 0 x
show ((- 1 : ℝ) * a). 1 x = (- 1 : ℝ) * a. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (- 1 * a) x + ↑ a x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h - 1 * ↑ a x + ↑ a x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
- a + a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h - 1 * ↑ a x + ↑ a x = ↑ 0 x
show (0 : H v e μ). 1 x = 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h - 1 * ↑ a x + ↑ a x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h - 1 * ↑ a x + ↑ a x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
- a + a = 0
ring
end Group
/-
We define a function : H × H → ℝ. The purpose of the following is to prove that H endowed with this function is a inner product space.
-/
noncomputable def H_inner {v : eigen} {e : ℕ → Ω → ℝ} {μ : Measure Ω} [IsFiniteMeasure μ] (f g : H v e μ) : ℝ := ∑' i, (v. 1 i) * ((set_repr_ne f). some i) * ((set_repr_ne g). some i)
/-
- We show properties on the inner product of H and the induced norm.
-/
namespace Inner
open Ring Group
variable {v : eigen} {e : ℕ → Ω → ℝ} {μ : Measure Ω} [IsFiniteMeasure μ] (f g : H v e μ)
noncomputable instance : Inner ℝ (H v e μ) where
inner := H_inner
noncomputable instance : Norm (H v e μ) where
norm := λ f ↦ Real.sqrt (inner f f)
noncomputable instance : Dist (H v e μ) where
dist := λ f g ↦ norm (f - g)
lemma inner_mul_left (a : ℝ) : inner (a * f) g = a * inner f g := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
let h := (set_repr_ne f). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
let h_af := λ i ↦ a * h id : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
have h_af_in : h_af ∈ set_repr (a * f) := ⟨mul_repr f a, mul_summable f a⟩d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f)
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f)
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
show inner (a * f) g = H_inner (a * f) g by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f)
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f)
H_inner (a * f) g = a * ⟪ f, g⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
unfold H_inner d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = a * ⟪ f, g⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = a * ⟪ f, g⟫ _ℝ
unique_choice h_af_in d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f)
∑' (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ⟪ f, g⟫ _ℝ
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f)
∑' (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ⟪ f, g⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
have comm_summand : ∀ i, v. 1 i * h_af i * (set_repr_ne g). some i = a * v. 1 i * h i * (set_repr_ne g). some i := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f)
∑' (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ⟪ f, g⟫ _ℝ
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f)
∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ i
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f)
∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f)
∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ i
intro i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f) i : ℕ
↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f)
∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ i
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
have lambda_comm : ∀ i, a * v. 1 i * h i * (set_repr_ne g). some i = a * (λ i ↦ v. 1 i * h i * (set_repr_ne g). some i) i := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f) comm_summand : ∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ i
∑' (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ⟪ f, g⟫ _ℝ
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f) comm_summand : ∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ i
∀ (i : ℕ), a * ↑ v i * h i * Set.Nonempty.some ⋯ i = a * (fun i => ↑ v i * h i * Set.Nonempty.some ⋯ i) i
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f) comm_summand : ∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ i
∀ (i : ℕ), a * ↑ v i * h i * Set.Nonempty.some ⋯ i = a * (fun i => ↑ v i * h i * Set.Nonempty.some ⋯ i) i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f) comm_summand : ∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ i
∀ (i : ℕ), a * ↑ v i * h i * Set.Nonempty.some ⋯ i = a * (fun i => ↑ v i * h i * Set.Nonempty.some ⋯ i) i
intro i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f) comm_summand : ∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ ii : ℕ
a * ↑ v i * h i * Set.Nonempty.some ⋯ i = a * (fun i => ↑ v i * h i * Set.Nonempty.some ⋯ i) i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f) comm_summand : ∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ i
∀ (i : ℕ), a * ↑ v i * h i * Set.Nonempty.some ⋯ i = a * (fun i => ↑ v i * h i * Set.Nonempty.some ⋯ i) i
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f) comm_summand : ∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ ilambda_comm : ∀ (i : ℕ), a * ↑ v i * h i * Set.Nonempty.some ⋯ i = a * (fun i => ↑ v i * h i * Set.Nonempty.some ⋯ i) i
∑' (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ⟪ f, g⟫ _ℝ
comm_summand [Meta.Tactic.simp.rewrite] comm_summand:1000 , ↑ v i * h_af i *
Set.Nonempty.some ⋯ i ==> a * ↑ v i * h i * Set.Nonempty.some ⋯ i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f) comm_summand : ∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ ilambda_comm : ∀ (i : ℕ), a * ↑ v i * h i * Set.Nonempty.some ⋯ i = a * (fun i => ↑ v i * h i * Set.Nonempty.some ⋯ i) i
∑' (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ⟪ f, g⟫ _ℝ
, d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f) comm_summand : ∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ ilambda_comm : ∀ (i : ℕ), a * ↑ v i * h i * Set.Nonempty.some ⋯ i = a * (fun i => ↑ v i * h i * Set.Nonempty.some ⋯ i) i
∑' (i : ℕ), a * ↑ v i * h i * Set.Nonempty.some ⋯ i = a * ⟪ f, g⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f) comm_summand : ∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ ilambda_comm : ∀ (i : ℕ), a * ↑ v i * h i * Set.Nonempty.some ⋯ i = a * (fun i => ↑ v i * h i * Set.Nonempty.some ⋯ i) i
∑' (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ⟪ f, g⟫ _ℝ
lambda_comm [Meta.Tactic.simp.rewrite] lambda_comm:1000 , a * ↑ v i * h i *
Set.Nonempty.some ⋯ i ==> a * (fun i => ↑ v i * h i * Set.Nonempty.some ⋯ i) i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f) comm_summand : ∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ ilambda_comm : ∀ (i : ℕ), a * ↑ v i * h i * Set.Nonempty.some ⋯ i = a * (fun i => ↑ v i * h i * Set.Nonempty.some ⋯ i) i
∑' (i : ℕ), a * (↑ v i * h i * Set.Nonempty.some ⋯ i) = a * ⟪ f, g⟫ _ℝ
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ h := Set.Nonempty.some ⋯ : ℕ → ℝ h_af := fun i => a * h i: ℕ → ℝ h_af_in : h_af ∈ set_repr (a * f) comm_summand : ∀ (i : ℕ), ↑ v i * h_af i * Set.Nonempty.some ⋯ i = a * ↑ v i * h i * Set.Nonempty.some ⋯ ilambda_comm : ∀ (i : ℕ), a * ↑ v i * h i * Set.Nonempty.some ⋯ i = a * (fun i => ↑ v i * h i * Set.Nonempty.some ⋯ i) i
∑' (i : ℕ), a * (↑ v i * h i * Set.Nonempty.some ⋯ i) = a * ⟪ f, g⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a : ℝ
⟪ a * f, g⟫ _ℝ = a * ⟪ f, g⟫ _ℝ
exact tsum_mul_left
lemma H_inner_add_left (h : H v e μ) : (inner (f + g) h : ℝ) = inner f h + inner g h := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
let a_f := (set_repr_ne f). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
let a_g := (set_repr_ne g). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
let a_h := (set_repr_ne h). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
let a_fg := λ i ↦ a_f i + a_g id : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
have a_fg_repr : a_fg ∈ set_repr (f + g) := ⟨add_repr f g, add_summable f g⟩d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
show inner (f + g) h = H_inner (f + g) h by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
H_inner (f + g) h = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
unfold H_inner d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
unique_choice a_fg_repr d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∑' (i : ℕ), ↑ v i * a_fg i * Set.Nonempty.some ⋯ i = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∑' (i : ℕ), ↑ v i * a_fg i * Set.Nonempty.some ⋯ i = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∑' (i : ℕ), ↑ v i * a_fg i * Set.Nonempty.some ⋯ i = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
show ∀ i, v. 1 i * a_fg i * a_h i = v. 1 i * (a_f i + a_g i) * a_h i by [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * a_fg i * a_h i = v. 1 i * (a_f i + a_g i) * a_h i by intro i;
rfl:1000 , ↑ v i * a_fg i * Set.Nonempty.some ⋯ i ==> ↑ v i * (a_f i + a_g i) * a_h i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∑' (i : ℕ), ↑ v i * a_fg i * Set.Nonempty.some ⋯ i = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
intro i [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * a_fg i * a_h i = v. 1 i * (a_f i + a_g i) * a_h i by intro i;
rfl:1000 , ↑ v i * a_fg i * Set.Nonempty.some ⋯ i ==> ↑ v i * (a_f i + a_g i) * a_h i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g) i : ℕ
↑ v i * a_fg i * a_h i = ↑ v i * (a_f i + a_g i) * a_h i
; [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * a_fg i * a_h i = v. 1 i * (a_f i + a_g i) * a_h i by intro i;
rfl:1000 , ↑ v i * a_fg i * Set.Nonempty.some ⋯ i ==> ↑ v i * (a_f i + a_g i) * a_h i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g) i : ℕ
↑ v i * a_fg i * a_h i = ↑ v i * (a_f i + a_g i) * a_h i
[Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * a_fg i * a_h i = v. 1 i * (a_f i + a_g i) * a_h i by intro i;
rfl:1000 , ↑ v i * a_fg i * Set.Nonempty.some ⋯ i ==> ↑ v i * (a_f i + a_g i) * a_h i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∀ (i : ℕ), ↑ v i * a_fg i * a_h i = ↑ v i * (a_f i + a_g i) * a_h i
rfl [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * a_fg i * a_h i = v. 1 i * (a_f i + a_g i) * a_h i by intro i;
rfl:1000 , ↑ v i * a_fg i * Set.Nonempty.some ⋯ i ==> ↑ v i * (a_f i + a_g i) * a_h i ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∑' (i : ℕ), ↑ v i * (a_f i + a_g i) * a_h i = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∑' (i : ℕ), ↑ v i * (a_f i + a_g i) * a_h i = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
show ∀ i, v. 1 i * (a_f i + a_g i) * a_h i = v. 1 i * a_f i * a_h i + v. 1 i * a_g i * a_h i by [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (a_f i + a_g i) * a_h i = v. 1 i * a_f i * a_h i + v. 1 i * a_g i * a_h i by
intro i; ring:1000 , ↑ v i * (a_f i + a_g i) * a_h i ==> ↑ v i * a_f i * a_h i + ↑ v i * a_g i * a_h i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∑' (i : ℕ), ↑ v i * (a_f i + a_g i) * a_h i = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
intro i [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (a_f i + a_g i) * a_h i = v. 1 i * a_f i * a_h i + v. 1 i * a_g i * a_h i by
intro i; ring:1000 , ↑ v i * (a_f i + a_g i) * a_h i ==> ↑ v i * a_f i * a_h i + ↑ v i * a_g i * a_h i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g) i : ℕ
↑ v i * (a_f i + a_g i) * a_h i = ↑ v i * a_f i * a_h i + ↑ v i * a_g i * a_h i
; [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (a_f i + a_g i) * a_h i = v. 1 i * a_f i * a_h i + v. 1 i * a_g i * a_h i by
intro i; ring:1000 , ↑ v i * (a_f i + a_g i) * a_h i ==> ↑ v i * a_f i * a_h i + ↑ v i * a_g i * a_h i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g) i : ℕ
↑ v i * (a_f i + a_g i) * a_h i = ↑ v i * a_f i * a_h i + ↑ v i * a_g i * a_h i
[Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (a_f i + a_g i) * a_h i = v. 1 i * a_f i * a_h i + v. 1 i * a_g i * a_h i by
intro i; ring:1000 , ↑ v i * (a_f i + a_g i) * a_h i ==> ↑ v i * a_f i * a_h i + ↑ v i * a_g i * a_h i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∀ (i : ℕ), ↑ v i * (a_f i + a_g i) * a_h i = ↑ v i * a_f i * a_h i + ↑ v i * a_g i * a_h i
ring [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (a_f i + a_g i) * a_h i = v. 1 i * a_f i * a_h i + v. 1 i * a_g i * a_h i by
intro i; ring:1000 , ↑ v i * (a_f i + a_g i) * a_h i ==> ↑ v i * a_f i * a_h i + ↑ v i * a_g i * a_h i ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∑' (i : ℕ), (↑ v i * a_f i * a_h i + ↑ v i * a_g i * a_h i) = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∑' (i : ℕ), (↑ v i * a_f i * a_h i + ↑ v i * a_g i * a_h i) = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
tsum_add (product_summable f h) (product_summable g h) d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b +
∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b =
⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)a_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_h := Set.Nonempty.some ⋯ : ℕ → ℝ a_fg := fun i => a_f i + a_g i: ℕ → ℝ a_fg_repr : a_fg ∈ set_repr (f + g)
∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b +
∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b =
⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
rfl
lemma inner_symmetric : (inner f g : ℝ) = inner g f := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ = ⟪ g, f⟫ _ℝ
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ = ⟪ g, f⟫ _ℝ
show inner f g = H_inner f g by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ = ⟪ g, f⟫ _ℝ
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
H_inner f g = ⟪ g, f⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ = ⟪ g, f⟫ _ℝ
unfold H_inner d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ⟪ g, f⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ = ⟪ g, f⟫ _ℝ
have comm : ∀ i, (v. 1 i) * ((set_repr_ne f). some i) * ((set_repr_ne g). some i) = (v. 1 i) * ((set_repr_ne g). some i) * ((set_repr_ne f). some i) := λ i ↦ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ⟪ g, f⟫ _ℝ
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)i : ℕ
↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i
ring
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ = ⟪ g, f⟫ _ℝ
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)comm : ∀ (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ⟪ g, f⟫ _ℝ
comm [Meta.Tactic.simp.rewrite] comm:1000 , ↑ v i * Set.Nonempty.some ⋯ i *
Set.Nonempty.some ⋯ i ==> ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)comm : ∀ (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ⟪ g, f⟫ _ℝ
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)comm : ∀ (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ⟪ g, f⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ = ⟪ g, f⟫ _ℝ
rfl
lemma inner_nonneg : (0 : ℝ) <= inner f f := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ⟪ f, f⟫ _ℝ
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ⟪ f, f⟫ _ℝ
show inner f f = H_inner f f by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ⟪ f, f⟫ _ℝ
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ H_inner f f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ⟪ f, f⟫ _ℝ
unfold H_inner d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ⟪ f, f⟫ _ℝ
let a := (set_repr_ne f). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ
0 ≤ ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ⟪ f, f⟫ _ℝ
have sq : ∀ i, v. 1 i * a i * a i = (v. 1 i) * (a i)^ 2 := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ
0 ≤ ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ
∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ
∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ
∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2
intro i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ i : ℕ
↑ v i * a i * a i = ↑ v i * a i ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ
∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ⟪ f, f⟫ _ℝ
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2
0 ≤ ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i
sq [Meta.Tactic.simp.rewrite] sq:1000 , ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i ==> ↑ v i * a i ^ 2 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2
0 ≤ ∑' (i : ℕ), ↑ v i * a i ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2
0 ≤ ∑' (i : ℕ), ↑ v i * a i ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ⟪ f, f⟫ _ℝ
have nonneg : ∀ i, (0 : ℝ) <= (v. 1 i) * (a i)^ 2 := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2
0 ≤ ∑' (i : ℕ), ↑ v i * a i ^ 2
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2
∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2
∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2
∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
intro i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 i : ℕ
0 ≤ ↑ v i * a i ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2
∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
exact Left.mul_nonneg (v. 2 i) (sq_nonneg (a i))
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ⟪ f, f⟫ _ℝ
exact tsum_nonneg nonneg
lemma H_norm_nonneg : (0 : ℝ) <= norm f := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ‖ f‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ‖ f‖
show norm f = Real.sqrt (inner f f) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ‖ f‖
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ √⟪ f, f⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
0 ≤ ‖ f‖
exact Real.sqrt_nonneg (inner f f)
lemma inner_zero_eq_zero : inner f 0 = (0 : ℝ) := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, 0 ⟫ _ℝ = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, 0 ⟫ _ℝ = 0
show inner f 0 = H_inner f 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, 0 ⟫ _ℝ = 0
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
H_inner f 0 = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, 0 ⟫ _ℝ = 0
unfold H_inner d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, 0 ⟫ _ℝ = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = 0
zero_unique_repr d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, 0 ⟫ _ℝ = 0
have summand_eq_zero : ∀ i, v. 1 i * (set_repr_ne f). some i * (λ i ↦ 0 ) i = 0 := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
∀ (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
∀ (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
∀ (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
intro i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)i : ℕ
↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
∀ (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)i : ℕ
↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
show (λ (d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)i : ℕ
↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
i Warning: unused variable `i ` [linter.unusedVariables] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)i : ℕ
↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
: ℕ) ↦ (0 : ℝ)) i = 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)i : ℕ
↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)i : ℕ
↑ v i * Set.Nonempty.some ⋯ i * 0 = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
∀ (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, 0 ⟫ _ℝ = 0
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)summand_eq_zero : ∀ (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * 0 = 0
summand_eq_zero [Meta.Tactic.simp.rewrite] summand_eq_zero:1000 , ↑ v i * Set.Nonempty.some ⋯ i * 0 ==> 0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)summand_eq_zero : ∀ (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
∑' (i : ℕ), 0 = 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)summand_eq_zero : ∀ (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * (fun i => 0 ) i = 0
∑' (i : ℕ), 0 = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, 0 ⟫ _ℝ = 0
exact tsum_zero
lemma null_inner_imp_null_f : inner f f = (0 : ℝ) → f = 0 := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
intro inner_eq_0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)inner_eq_0 : ⟪ f, f⟫ _ℝ = 0
f = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)inner_eq_0 : ⟪ f, f⟫ _ℝ = 0
f = 0
show inner f f = H_inner f f by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)inner_eq_0 : ⟪ f, f⟫ _ℝ = 0
f = 0
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)inner_eq_0 : H_inner f f = 0
f = 0
at inner_eq_0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)inner_eq_0 : H_inner f f = 0
f = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
unfold H_inner at inner_eq_0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)inner_eq_0 : ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = 0
f = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
let a := (set_repr_ne f). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)inner_eq_0 : ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = 0 a := Set.Nonempty.some ⋯ : ℕ → ℝ
f = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
have sq_summand : ∀ i, v. 1 i * a i * a i = v. 1 i * (a i)^ 2 := λ i ↦ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)inner_eq_0 : ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = 0 a := Set.Nonempty.some ⋯ : ℕ → ℝ
f = 0
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)inner_eq_0 : ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = 0 a := Set.Nonempty.some ⋯ : ℕ → ℝ i : ℕ
↑ v i * a i * a i = ↑ v i * a i ^ 2
ring
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)inner_eq_0 : ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = 0 a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2
f = 0
sq_summand [Meta.Tactic.simp.rewrite] sq_summand:1000 , ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i ==> ↑ v i * a i ^ 2 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0
f = 0
] at inner_eq_0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0
f = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
have summand_nonneg : ∀ i, (0 : ℝ) <= v. 1 i * (a i)^ 2 := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0
f = 0
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0
∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0
∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0
∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
intro i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ
0 ≤ ↑ v i * a i ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0
∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
exact Left.mul_nonneg (v. 2 i) (sq_nonneg (a i))
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
have summand_summable : Summable (λ i ↦ v. 1 i * (a i)^ 2 ) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
f = 0
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
Summable fun i => ↑ v i * a i ^ 2
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
Summable fun i => ↑ v i * a i ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
Summable fun i => ↑ v i * a i ^ 2
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
Summable fun i => ↑ v i * a i ^ 2
← sq_summand[Meta.Tactic.simp.rewrite] ← sq_summand:1000 , ↑ v i * a i ^ 2 ==> ↑ v i * a i * a i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
Summable fun i => ↑ v i * a i * a i
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
Summable fun i => ↑ v i * a i * a i
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2
Summable fun i => ↑ v i * a i ^ 2
exact product_summable f f
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
have summand_eq_zero := (summable_nonneg_iff_0 summand_nonneg summand_summable). mp inner_eq_0d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0
f = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
have mul_v_a_eq_0 : ∀ i, v. 1 i * a i = 0 := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0
f = 0
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0
∀ (i : ℕ), ↑ v i * a i = 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0
∀ (i : ℕ), ↑ v i * a i = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0
∀ (i : ℕ), ↑ v i * a i = 0
intro i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ
↑ v i * a i = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0
∀ (i : ℕ), ↑ v i * a i = 0
cases mul_eq_zero.mp (summand_eq_zero i) with
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ x✝ : ↑ v i = 0 ∨ a i ^ 2 = 0
↑ v i * a i = 0
| inl hv =>
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ hv : ↑ v i = 0
inl ↑ v i * a i = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ hv : ↑ v i = 0
inl ↑ v i * a i = 0
hv d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ hv : ↑ v i = 0
inl 0 * a i = 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ hv : ↑ v i = 0
inl 0 * a i = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ hv : ↑ v i = 0
inl ↑ v i * a i = 0
ring
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ x✝ : ↑ v i = 0 ∨ a i ^ 2 = 0
↑ v i * a i = 0
| inr ha =>
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ ha : a i ^ 2 = 0
inr ↑ v i * a i = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ ha : a i ^ 2 = 0
inr ↑ v i * a i = 0
sq_eq_zero_iff.mp ha d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ ha : a i ^ 2 = 0
inr ↑ v i * 0 = 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ ha : a i ^ 2 = 0
inr ↑ v i * 0 = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 i : ℕ ha : a i ^ 2 = 0
inr ↑ v i * a i = 0
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ω
a.h ↑ f x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ω
a.h ↑ f x = ↑ 0 x
show (0 : H v e μ). 1 = zero by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ω
a.h ↑ f x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ω
a.h ↑ f x = zero x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ω
a.h ↑ f x = zero x
show zero x = 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ω
a.h ↑ f x = zero x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ω
a.h ↑ f x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
rcases (set_repr_ne f). some_mem with ⟨⟨ha_r, d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ω
a.h ↑ f x = 0
ha_s Warning: unused variable `ha_s ` [linter.unusedVariables] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ω
a.h ↑ f x = 0
⟩, _⟩ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i x
a.h.intro.intro ↑ f x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i x
a.h.intro.intro ↑ f x = 0
ha_r, d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i x
a.h.intro.intro (fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i x) x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i x
a.h.intro.intro ↑ f x = 0
show (set_repr_ne f). some = a by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i x
a.h.intro.intro (fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i x) x = 0
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i x
a.h.intro.intro (fun x => ∑' (i : ℕ), ↑ v i * a i * e i x) x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
have summand_eq_0 : ∀ i, (v. 1 i) * (a i) * (e i x) = 0 := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i x
a.h.intro.intro (fun x => ∑' (i : ℕ), ↑ v i * a i * e i x) x = 0
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i x
∀ (i : ℕ), ↑ v i * a i * e i x = 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i x
∀ (i : ℕ), ↑ v i * a i * e i x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i x
∀ (i : ℕ), ↑ v i * a i * e i x = 0
intro i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i xi : ℕ
↑ v i * a i * e i x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i x
∀ (i : ℕ), ↑ v i * a i * e i x = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i xi : ℕ
↑ v i * a i * e i x = 0
mul_v_a_eq_0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i xi : ℕ
0 * e i x = 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i xi : ℕ
0 * e i x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i x
∀ (i : ℕ), ↑ v i * a i * e i x = 0
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i xsummand_eq_0 : ∀ (i : ℕ), ↑ v i * a i * e i x = 0
a.h.intro.intro ∑' (i : ℕ), ↑ v i * a i * e i x = 0
summand_eq_0 [Meta.Tactic.simp.rewrite] summand_eq_0:1000 , ↑ v i * a i * e i x ==> 0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i xsummand_eq_0 : ∀ (i : ℕ), ↑ v i * a i * e i x = 0
a.h.intro.intro ∑' (i : ℕ), 0 = 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)a := Set.Nonempty.some ⋯ : ℕ → ℝ sq_summand : ∀ (i : ℕ), ↑ v i * a i * a i = ↑ v i * a i ^ 2 inner_eq_0 : ∑' (i : ℕ), ↑ v i * a i ^ 2 = 0 summand_nonneg : ∀ (i : ℕ), 0 ≤ ↑ v i * a i ^ 2 summand_summable : Summable fun i => ↑ v i * a i ^ 2 summand_eq_zero : ∀ (i : ℕ), ↑ v i * a i ^ 2 = 0 mul_v_a_eq_0 : ∀ (i : ℕ), ↑ v i * a i = 0 x : ↑ Ωright✝ : Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i ^ 2 ha_r : ↑ f = fun x => ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * e i xha_s : ∀ (x : ↑ Ω), Summable fun i => ↑ v i * Set.Nonempty.some ⋯ i * e i xsummand_eq_0 : ∀ (i : ℕ), ↑ v i * a i * e i x = 0
a.h.intro.intro ∑' (i : ℕ), 0 = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = 0 → f = 0
exact tsum_zero
lemma inner_eq_sq_norm : inner f f = (norm f)^ 2 := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = ‖ f‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = ‖ f‖ ^ 2
show norm f = Real.sqrt (inner f f) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = ‖ f‖ ^ 2
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = √⟪ f, f⟫ _ℝ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = ‖ f‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = √⟪ f, f⟫ _ℝ ^ 2
Real.sq_sqrt (inner_nonneg f) d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = ⟪ f, f⟫ _ℝ
]
lemma distrib_H_norm (t : ℝ) : ‖ f + t* g‖^ 2 = ‖ f‖^ 2 + (2 : ℝ) * t * inner f g + t^ 2 * ‖ g‖^ 2 := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
show ‖ f + t* g‖ = Real.sqrt (inner (f + t* g) (f + t* g)) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
√⟪ f + t * g, f + t * g⟫ _ℝ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
have inner_nn : (0 : ℝ) <= inner (f + t* g) (f + t* g) := inner_nonneg (f + t * g)d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝ
√⟪ f + t * g, f + t * g⟫ _ℝ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝ
√⟪ f + t * g, f + t * g⟫ _ℝ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
Real.sq_sqrt inner_nn d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝ
⟪ f + t * g, f + t * g⟫ _ℝ = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝ
⟪ f + t * g, f + t * g⟫ _ℝ = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
let a_f := (set_repr_ne f). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ
⟪ f + t * g, f + t * g⟫ _ℝ = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
let a_g := (set_repr_ne g). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ
⟪ f + t * g, f + t * g⟫ _ℝ = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
let a_f_tg := λ i ↦ a_f i + t * a_g id : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ
⟪ f + t * g, f + t * g⟫ _ℝ = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
have a_f_tg_repr : a_f_tg ∈ set_repr (f + t* g) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ
⟪ f + t * g, f + t * g⟫ _ℝ = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ
a_f_tg ∈ set_repr (f + t * g)
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ
a_f_tg ∈ set_repr (f + t * g)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ
a_f_tg ∈ set_repr (f + t * g)
have repr_add :
(λ i ↦ a_f i + (set_repr_ne (t* g)). some i) ∈ set_repr (f + t* g)
:= ⟨add_repr f (t* g), add_summable f (t* g)⟩d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ repr_add : (fun i => a_f i + Set.Nonempty.some ⋯ i) ∈ set_repr (f + t * g)
a_f_tg ∈ set_repr (f + t * g)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ
a_f_tg ∈ set_repr (f + t * g)
have repr_mul :
(λ i ↦ t* (a_g i)) ∈ set_repr (t* g)
:= ⟨mul_repr g t, mul_summable g t⟩d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ repr_add : (fun i => a_f i + Set.Nonempty.some ⋯ i) ∈ set_repr (f + t * g) repr_mul : (fun i => t * a_g i) ∈ set_repr (t * g)
a_f_tg ∈ set_repr (f + t * g)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ
a_f_tg ∈ set_repr (f + t * g)
rwa [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ repr_add : (fun i => a_f i + Set.Nonempty.some ⋯ i) ∈ set_repr (f + t * g) repr_mul : (fun i => t * a_g i) ∈ set_repr (t * g)
a_f_tg ∈ set_repr (f + t * g)
unique_choice repr_mul d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ repr_add : (fun i => a_f i + (fun i => t * a_g i) i) ∈ set_repr (f + t * g) repr_mul : (fun i => t * a_g i) ∈ set_repr (t * g)
a_f_tg ∈ set_repr (f + t * g)
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ repr_add : (fun i => a_f i + (fun i => t * a_g i) i) ∈ set_repr (f + t * g) repr_mul : (fun i => t * a_g i) ∈ set_repr (t * g)
a_f_tg ∈ set_repr (f + t * g)
at repr_add
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g)
⟪ f + t * g, f + t * g⟫ _ℝ = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
show inner (f + t* g) (f + t* g) = H_inner (f + t* g) (f + t* g) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g)
⟪ f + t * g, f + t * g⟫ _ℝ = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g)
H_inner (f + t * g) (f + t * g) = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
unfold H_inner d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
unique_choice a_f_tg_repr d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g)
∑' (i : ℕ), ↑ v i * a_f_tg i * a_f_tg i = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g)
∑' (i : ℕ), ↑ v i * a_f_tg i * a_f_tg i = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
have distribute : ∀ i, v. 1 i * a_f_tg i * a_f_tg i = v. 1 i * a_f i * a_f i + (2 :ℝ) * t * (v. 1 i * a_f i * a_g i) + t^ 2 * (v. 1 i * a_g i * a_g i) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g)
∑' (i : ℕ), ↑ v i * a_f_tg i * a_f_tg i = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g)
∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)
intro i d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) i : ℕ
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)
; d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) i : ℕ
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g)
∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)
ring
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)
∑' (i : ℕ), ↑ v i * a_f_tg i * a_f_tg i = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
distribute [Meta.Tactic.simp.rewrite] distribute:1000 , ↑ v i * a_f_tg i *
a_f_tg i ==> ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i) d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)
∑' (i : ℕ), (↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)
∑' (i : ℕ), (↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
have add_summable : Summable (λ i ↦ v. 1 i * a_f i * a_f i + ((2 :ℝ) * t) * (v. 1 i * a_f i * a_g i)) :=(product_summable f f). add ((product_summable f g). mul_left ((2 :ℝ) * t))d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i)
∑' (i : ℕ), (↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i)
∑' (i : ℕ), (↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
tsum_add add_summable ((product_summable g g). mul_left (t^ 2 )) d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i)
∑' (b : ℕ), (↑ v b * a_f b * a_f b + 2 * t * (↑ v b * a_f b * a_g b)) +
∑' (b : ℕ), t ^ 2 * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i)
∑' (b : ℕ), (↑ v b * a_f b * a_f b + 2 * t * (↑ v b * a_f b * a_g b)) +
∑' (b : ℕ), t ^ 2 * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
have tsum_to_norm (h : H v e μ) : ∑' i, v. 1 i * (set_repr_ne h). some i * (set_repr_ne h). some i = (norm h)^ 2 := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i)
∑' (b : ℕ), (↑ v b * a_f b * a_f b + 2 * t * (↑ v b * a_f b * a_g b)) +
∑' (b : ℕ), t ^ 2 * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) h : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) h : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) h : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) h : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2
show ∑' i, v. 1 i * (set_repr_ne h). some i * (set_repr_ne h). some i = H_inner h h by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) h : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) h : ↑ (H v e μ)
H_inner h h = ‖ h‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) h : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) h : ↑ (H v e μ)
H_inner h h = ‖ h‖ ^ 2
show H_inner h h = inner h h by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) h : ↑ (H v e μ)
H_inner h h = ‖ h‖ ^ 2
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) h : ↑ (H v e μ)
⟪ h, h⟫ _ℝ = ‖ h‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) h : ↑ (H v e μ)
∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) h : ↑ (H v e μ)
⟪ h, h⟫ _ℝ = ‖ h‖ ^ 2
inner_eq_sq_norm h d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) h : ↑ (H v e μ)
‖ h‖ ^ 2 = ‖ h‖ ^ 2
]
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2
∑' (b : ℕ), (↑ v b * a_f b * a_f b + 2 * t * (↑ v b * a_f b * a_g b)) +
∑' (b : ℕ), t ^ 2 * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
tsum_add (product_summable f f) ((product_summable f g). mul_left ((2 :ℝ) * t)) d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2
∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b +
∑' (b : ℕ), 2 * t * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) +
∑' (b : ℕ), t ^ 2 * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2
∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b +
∑' (b : ℕ), 2 * t * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) +
∑' (b : ℕ), t ^ 2 * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
have const_out : ∑' i, t^ 2 * (v. 1 i * a_g i * a_g i) = t^ 2 * ∑' i, v. 1 i * a_g i * a_g i := tsum_mul_leftd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g i
∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b +
∑' (b : ℕ), 2 * t * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) +
∑' (b : ℕ), t ^ 2 * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g i
∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b +
∑' (b : ℕ), 2 * t * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) +
∑' (b : ℕ), t ^ 2 * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
const_out, d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g i
∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b +
∑' (b : ℕ), 2 * t * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) +
t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g i =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g i
∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b +
∑' (b : ℕ), 2 * t * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) +
∑' (b : ℕ), t ^ 2 * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
tsum_to_norm f, d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g i
‖ f‖ ^ 2 + ∑' (b : ℕ), 2 * t * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) +
t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g i =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g i
∑' (b : ℕ), ↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b +
∑' (b : ℕ), 2 * t * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) +
∑' (b : ℕ), t ^ 2 * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
tsum_to_norm g d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g i
‖ f‖ ^ 2 + ∑' (b : ℕ), 2 * t * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) + t ^ 2 * ‖ g‖ ^ 2 =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g i
‖ f‖ ^ 2 + ∑' (b : ℕ), 2 * t * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) + t ^ 2 * ‖ g‖ ^ 2 =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
have const_out : ∑' i, 2 * t * (v. 1 i * a_f i * a_g i) = 2 * t * ∑' i, (v. 1 i * a_f i * a_g i) := tsum_mul_leftd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out✝ : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g iconst_out : ∑' (i : ℕ), 2 * t * (↑ v i * a_f i * a_g i) = 2 * t * ∑' (i : ℕ), ↑ v i * a_f i * a_g i
‖ f‖ ^ 2 + ∑' (b : ℕ), 2 * t * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) + t ^ 2 * ‖ g‖ ^ 2 =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out✝ : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g iconst_out : ∑' (i : ℕ), 2 * t * (↑ v i * a_f i * a_g i) = 2 * t * ∑' (i : ℕ), ↑ v i * a_f i * a_g i
‖ f‖ ^ 2 + ∑' (b : ℕ), 2 * t * (↑ v b * Set.Nonempty.some ⋯ b * Set.Nonempty.some ⋯ b) + t ^ 2 * ‖ g‖ ^ 2 =
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
const_out d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out✝ : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g iconst_out : ∑' (i : ℕ), 2 * t * (↑ v i * a_f i * a_g i) = 2 * t * ∑' (i : ℕ), ↑ v i * a_f i * a_g i
‖ f‖ ^ 2 + 2 * t * ∑' (i : ℕ), ↑ v i * a_f i * a_g i + t ^ 2 * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out✝ : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g iconst_out : ∑' (i : ℕ), 2 * t * (↑ v i * a_f i * a_g i) = 2 * t * ∑' (i : ℕ), ↑ v i * a_f i * a_g i
‖ f‖ ^ 2 + 2 * t * ∑' (i : ℕ), ↑ v i * a_f i * a_g i + t ^ 2 * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
have tsum_to_inner : ∑' i, v. 1 i * a_f i * a_g i = inner f g := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out✝ : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g iconst_out : ∑' (i : ℕ), 2 * t * (↑ v i * a_f i * a_g i) = 2 * t * ∑' (i : ℕ), ↑ v i * a_f i * a_g i
‖ f‖ ^ 2 + 2 * t * ∑' (i : ℕ), ↑ v i * a_f i * a_g i + t ^ 2 * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out✝ : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g iconst_out : ∑' (i : ℕ), 2 * t * (↑ v i * a_f i * a_g i) = 2 * t * ∑' (i : ℕ), ↑ v i * a_f i * a_g i
∑' (i : ℕ), ↑ v i * a_f i * a_g i = ⟪ f, g⟫ _ℝ
rfl
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ
‖ f + t * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out✝ : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g iconst_out : ∑' (i : ℕ), 2 * t * (↑ v i * a_f i * a_g i) = 2 * t * ∑' (i : ℕ), ↑ v i * a_f i * a_g itsum_to_inner : ∑' (i : ℕ), ↑ v i * a_f i * a_g i = ⟪ f, g⟫ _ℝ
‖ f‖ ^ 2 + 2 * t * ∑' (i : ℕ), ↑ v i * a_f i * a_g i + t ^ 2 * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
tsum_to_inner d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)t : ℝ inner_nn : 0 ≤ ⟪ f + t * g, f + t * g⟫ _ℝa_f := Set.Nonempty.some ⋯ : ℕ → ℝ a_g := Set.Nonempty.some ⋯ : ℕ → ℝ a_f_tg := fun i => a_f i + t * a_g i: ℕ → ℝ a_f_tg_repr : a_f_tg ∈ set_repr (f + t * g) distribute : ∀ (i : ℕ),
↑ v i * a_f_tg i * a_f_tg i = ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) + t ^ 2 * (↑ v i * a_g i * a_g i)add_summable : Summable fun i => ↑ v i * a_f i * a_f i + 2 * t * (↑ v i * a_f i * a_g i) tsum_to_norm : ∀ (h : ↑ (H v e μ)), ∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i = ‖ h‖ ^ 2 const_out✝ : ∑' (i : ℕ), t ^ 2 * (↑ v i * a_g i * a_g i) = t ^ 2 * ∑' (i : ℕ), ↑ v i * a_g i * a_g iconst_out : ∑' (i : ℕ), 2 * t * (↑ v i * a_f i * a_g i) = 2 * t * ∑' (i : ℕ), ↑ v i * a_f i * a_g itsum_to_inner : ∑' (i : ℕ), ↑ v i * a_f i * a_g i = ⟪ f, g⟫ _ℝ
‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * t * ⟪ f, g⟫ _ℝ + t ^ 2 * ‖ g‖ ^ 2
]
lemma H_cauchy_schwarz : inner f g <= ‖ f‖ * ‖ g‖ := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
by_cases hg : ‖ g‖ ≠ 0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
· d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
have hg_sq := pow_ne_zero 2 hgd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
let P := λ (t : ℝ) ↦ ‖ f + t* g‖^ 2 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
let t₀ := - inner f g / ‖ g‖^ 2 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
have P_nonneg : 0 <= P t₀ := sq_nonneg ‖ f + t₀* g‖ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
have P_t0_val : P t₀ = ‖ f‖^ 2 - (inner f g)^ 2 / ‖ g‖^ 2 := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀
P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀
P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀
P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
have P_t0 : P t₀ = ‖ f‖^ 2 + (2 : ℝ) * t₀ * inner f g + t₀^ 2 * ‖ g‖^ 2 := distrib_H_norm f g t₀d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀
P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
P_t0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀
P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
show t₀^ 2 = (inner f g)^ 2 / (‖ g‖^ 2 * ‖ g‖^ 2 ) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / (‖ g‖ ^ 2 * ‖ g‖ ^ 2 ) * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀
P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / (‖ g‖ ^ 2 * ‖ g‖ ^ 2 ) * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
show (inner f g)^ 2 / (‖ g‖^ 2 * ‖ g‖^ 2 ) = (inner f g)^ 2 / ‖ g‖^ 2 * (1 :ℝ) / ‖ g‖^ 2 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / (‖ g‖ ^ 2 * ‖ g‖ ^ 2 ) * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 * 1 / ‖ g‖ ^ 2 * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀
P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 * 1 / ‖ g‖ ^ 2 * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
show (inner f g)^ 2 / ‖ g‖^ 2 * (1 :ℝ) / ‖ g‖^ 2 * ‖ g‖^ 2 = (inner f g)^ 2 / ‖ g‖^ 2 * ((1 :ℝ) / ‖ g‖^ 2 * ‖ g‖^ 2 ) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 * 1 / ‖ g‖ ^ 2 * ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 * (1 / ‖ g‖ ^ 2 * ‖ g‖ ^ 2 ) = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀
P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 * (1 / ‖ g‖ ^ 2 * ‖ g‖ ^ 2 ) = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
one_div_mul_cancel hg_sq d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 * 1 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 * 1 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀
P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 * 1 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
show (inner f g)^ 2 / ‖ g‖^ 2 * (1 :ℝ) = (inner f g)^ 2 / ‖ g‖^ 2 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 * 1 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀
P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
show (2 :ℝ) * t₀ * inner f g = (- 2 :ℝ) * (inner f g)^ 2 / ‖ g‖^ 2 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + - 2 * ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀
P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + - 2 * ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
show ‖ f‖^ 2 + (- 2 :ℝ) * (inner f g)^ 2 / ‖ g‖^ 2 + (inner f g)^ 2 / ‖ g‖^ 2 = ‖ f‖^ 2 - (inner f g)^ 2 / ‖ g‖^ 2 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0 : P t₀ = ‖ f‖ ^ 2 + 2 * t₀ * ⟪ f, g⟫ _ℝ + t₀ ^ 2 * ‖ g‖ ^ 2
‖ f‖ ^ 2 + - 2 * ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 + ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
ring ]
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ P t₀P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
P_t0_val d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
at P_nonneg d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
have sq_ineq : (inner f g)^ 2 <= (‖ f‖ * ‖ g‖ )^ 2 := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
⟪ f, g⟫ _ℝ ^ 2 ≤ (‖ f‖ * ‖ g‖ ) ^ 2
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
⟪ f, g⟫ _ℝ ^ 2 ≤ (‖ f‖ * ‖ g‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
⟪ f, g⟫ _ℝ ^ 2 ≤ (‖ f‖ * ‖ g‖ ) ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
⟪ f, g⟫ _ℝ ^ 2 ≤ (‖ f‖ * ‖ g‖ ) ^ 2
show (‖ f‖ * ‖ g‖ )^ 2 = ‖ f‖^ 2 * ‖ g‖^ 2 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
⟪ f, g⟫ _ℝ ^ 2 ≤ (‖ f‖ * ‖ g‖ ) ^ 2
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
⟪ f, g⟫ _ℝ ^ 2 ≤ ‖ f‖ ^ 2 * ‖ g‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
⟪ f, g⟫ _ℝ ^ 2 ≤ (‖ f‖ * ‖ g‖ ) ^ 2
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
⟪ f, g⟫ _ℝ ^ 2 ≤ ‖ f‖ ^ 2 * ‖ g‖ ^ 2
← (mul_inv_le_iff' (pow_two_pos_of_ne_zero hg))d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
⟪ f, g⟫ _ℝ ^ 2 * (‖ g‖ ^ 2 )⁻¹ ≤ ‖ f‖ ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
⟪ f, g⟫ _ℝ ^ 2 * (‖ g‖ ^ 2 )⁻¹ ≤ ‖ f‖ ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
⟪ f, g⟫ _ℝ ^ 2 ≤ (‖ f‖ * ‖ g‖ ) ^ 2
rwa [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
⟪ f, g⟫ _ℝ ^ 2 * (‖ g‖ ^ 2 )⁻¹ ≤ ‖ f‖ ^ 2
← sub_nonnegd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 * (‖ g‖ ^ 2 )⁻¹
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2
0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 * (‖ g‖ ^ 2 )⁻¹
}
--rw [←sq_abs (inner f g)] at sq_ineq
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 sq_ineq : ⟪ f, g⟫ _ℝ ^ 2 ≤ (‖ f‖ * ‖ g‖ ) ^ 2
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
show (inner f g)^ 2 = (inner f g) * (inner f g) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 sq_ineq : ⟪ f, g⟫ _ℝ ^ 2 ≤ (‖ f‖ * ‖ g‖ ) ^ 2
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 sq_ineq : ⟪ f, g⟫ _ℝ * ⟪ f, g⟫ _ℝ ≤ (‖ f‖ * ‖ g‖ ) ^ 2
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
at sq_ineq d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 sq_ineq : ⟪ f, g⟫ _ℝ * ⟪ f, g⟫ _ℝ ≤ (‖ f‖ * ‖ g‖ ) ^ 2
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 sq_ineq : ⟪ f, g⟫ _ℝ * ⟪ f, g⟫ _ℝ ≤ (‖ f‖ * ‖ g‖ ) ^ 2
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
show (‖ f‖ * ‖ g‖ )^ 2 = (‖ f‖ * ‖ g‖ ) * (‖ f‖ * ‖ g‖ ) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 sq_ineq : ⟪ f, g⟫ _ℝ * ⟪ f, g⟫ _ℝ ≤ (‖ f‖ * ‖ g‖ ) ^ 2
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 sq_ineq : ⟪ f, g⟫ _ℝ * ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖ * (‖ f‖ * ‖ g‖ )
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
at sq_ineq d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 sq_ineq : ⟪ f, g⟫ _ℝ * ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖ * (‖ f‖ * ‖ g‖ )
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
have norm_mul_nonneg : 0 <= ‖ f‖ * ‖ g‖ := Left.mul_nonneg (H_norm_nonneg f) (H_norm_nonneg g)d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0 hg_sq : ‖ g‖ ^ 2 ≠ 0 P := fun t => ‖ f + t * g‖ ^ 2 : ℝ → ℝ t₀ := -⟪ f, g⟫ _ℝ / ‖ g‖ ^ 2 : ℝ P_nonneg : 0 ≤ ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 P_t0_val : P t₀ = ‖ f‖ ^ 2 - ⟪ f, g⟫ _ℝ ^ 2 / ‖ g‖ ^ 2 sq_ineq : ⟪ f, g⟫ _ℝ * ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖ * (‖ f‖ * ‖ g‖ )norm_mul_nonneg : 0 ≤ ‖ f‖ * ‖ g‖
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ ≠ 0
pos ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
exact nonneg_le_nonneg_of_sq_le_sq norm_mul_nonneg sq_ineq
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
push_neg at hg d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ = 0
neg ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ = 0
neg ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
show ‖ g‖ = Real.sqrt (inner g g) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ‖ g‖ = 0
neg ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : √⟪ g, g⟫ _ℝ = 0
neg ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
at hg d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : √⟪ g, g⟫ _ℝ = 0
neg ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : √⟪ g, g⟫ _ℝ = 0
neg ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
Real.sqrt_eq_zero (inner_nonneg g) d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0
neg ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0
neg ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
at hg d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0
neg ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
have g_eq_0 := null_inner_imp_null_f g hgd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
g_eq_0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg ⟪ f, 0 ⟫ _ℝ ≤ ‖ f‖ * ‖ 0 ‖
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg ⟪ f, 0 ⟫ _ℝ ≤ ‖ f‖ * ‖ 0 ‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg ⟪ f, 0 ⟫ _ℝ ≤ ‖ f‖ * ‖ 0 ‖
show inner f (0 : H v e μ) = inner f 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg ⟪ f, 0 ⟫ _ℝ ≤ ‖ f‖ * ‖ 0 ‖
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg ⟪ f, 0 ⟫ _ℝ ≤ ‖ f‖ * ‖ 0 ‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg ⟪ f, 0 ⟫ _ℝ ≤ ‖ f‖ * ‖ 0 ‖
inner_zero_eq_zero f d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg 0 ≤ ‖ f‖ * ‖ 0 ‖
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg 0 ≤ ‖ f‖ * ‖ 0 ‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg 0 ≤ ‖ f‖ * ‖ 0 ‖
show norm (0 : H v e μ) = Real.sqrt (inner (0 : H v e μ) 0 ) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg 0 ≤ ‖ f‖ * ‖ 0 ‖
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg 0 ≤ ‖ f‖ * √⟪ 0 , 0 ⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg 0 ≤ ‖ f‖ * √⟪ 0 , 0 ⟫ _ℝ
inner_zero_eq_zero 0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg 0 ≤ ‖ f‖ * √ 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)hg : ⟪ g, g⟫ _ℝ = 0 g_eq_0 : g = 0
neg 0 ≤ ‖ f‖ * √ 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
simp [Meta.Tactic.simp.rewrite] Real.sqrt_zero:1000 , √ 0 ==> 0
[Meta.Tactic.simp.rewrite] @ mul_zero:1000 , ‖ f‖ * 0 ==> 0
[Meta.Tactic.simp.rewrite] @ le_refl:1000 , 0 ≤ 0 ==> True
lemma ineq_add_norm : ‖ f + g‖ <= ‖ f‖ + ‖ g‖ := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f + g‖ ≤ ‖ f‖ + ‖ g‖
apply nonneg_le_nonneg_of_sq_le_sq d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
hb 0 ≤ ‖ f‖ + ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f + g‖ ≤ ‖ f‖ + ‖ g‖
· d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
hb 0 ≤ ‖ f‖ + ‖ g‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
hb 0 ≤ ‖ f‖ + ‖ g‖
exact Left.add_nonneg (H_norm_nonneg f) (H_norm_nonneg g)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f + g‖ ≤ ‖ f‖ + ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
h ‖ f + g‖ * ‖ f + g‖ ≤ (‖ f‖ + ‖ g‖ ) * (‖ f‖ + ‖ g‖ )
show ‖ f + g‖ * ‖ f + g‖ = ‖ f + g‖^ 2 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
h ‖ f + g‖ * ‖ f + g‖ ≤ (‖ f‖ + ‖ g‖ ) * (‖ f‖ + ‖ g‖ )
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) * (‖ f‖ + ‖ g‖ )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f + g‖ ≤ ‖ f‖ + ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) * (‖ f‖ + ‖ g‖ )
show (‖ f‖ + ‖ g‖ ) * (‖ f‖ + ‖ g‖ ) = (‖ f‖ + ‖ g‖ )^ 2 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) * (‖ f‖ + ‖ g‖ )
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f + g‖ ≤ ‖ f‖ + ‖ g‖
have sq_ineq : ‖ f‖^ 2 + (2 : ℝ) * inner f g + ‖ g‖^ 2 <= (‖ f‖ + ‖ g‖ )^ 2 := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
have cauchy_schwarz : 2 * inner f g <= 2 * (‖ f‖ * ‖ g‖ ) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
2 * ⟪ f, g⟫ _ℝ ≤ 2 * (‖ f‖ * ‖ g‖ )
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
2 * ⟪ f, g⟫ _ℝ ≤ 2 * (‖ f‖ * ‖ g‖ )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
2 * ⟪ f, g⟫ _ℝ ≤ 2 * (‖ f‖ * ‖ g‖ )
have := H_cauchy_schwarz f gd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)this : ⟪ f, g⟫ _ℝ ≤ ‖ f‖ * ‖ g‖
2 * ⟪ f, g⟫ _ℝ ≤ 2 * (‖ f‖ * ‖ g‖ )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
2 * ⟪ f, g⟫ _ℝ ≤ 2 * (‖ f‖ * ‖ g‖ )
linarith
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
have ineq := add_le_add_right (add_le_add_left cauchy_schwarz (‖ f‖^ 2 )) (‖ g‖^ 2 )d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)cauchy_schwarz : 2 * ⟪ f, g⟫ _ℝ ≤ 2 * (‖ f‖ * ‖ g‖ )ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ ‖ f‖ ^ 2 + 2 * (‖ f‖ * ‖ g‖ ) + ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
rwa [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)cauchy_schwarz : 2 * ⟪ f, g⟫ _ℝ ≤ 2 * (‖ f‖ * ‖ g‖ )ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ ‖ f‖ ^ 2 + 2 * (‖ f‖ * ‖ g‖ ) + ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
show ‖ f‖^ 2 + (2 : ℝ) * (‖ f‖ * ‖ g‖ ) + ‖ g‖^ 2 = (‖ f‖ + ‖ g‖ )^ 2 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)cauchy_schwarz : 2 * ⟪ f, g⟫ _ℝ ≤ 2 * (‖ f‖ * ‖ g‖ )ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ ‖ f‖ ^ 2 + 2 * (‖ f‖ * ‖ g‖ ) + ‖ g‖ ^ 2
‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)cauchy_schwarz : 2 * ⟪ f, g⟫ _ℝ ≤ 2 * (‖ f‖ * ‖ g‖ )ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
at ineq
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f + g‖ ≤ ‖ f‖ + ‖ g‖
have distrib_norm := distrib_H_norm f g 1 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * 1 * ⟪ f, g⟫ _ℝ + 1 ^ 2 * ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f + g‖ ≤ ‖ f‖ + ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * 1 * ⟪ f, g⟫ _ℝ + 1 ^ 2 * ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
show (2 :ℝ) * (1 :ℝ) * inner f g = 2 * inner f g by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * 1 * ⟪ f, g⟫ _ℝ + 1 ^ 2 * ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + 1 ^ 2 * ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
at distrib_norm d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + 1 ^ 2 * ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f + g‖ ≤ ‖ f‖ + ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + 1 ^ 2 * ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
show (1 :ℝ)^ 2 * ‖ g‖^ 2 = ‖ g‖^ 2 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + 1 ^ 2 * ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
at distrib_norm d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f + g‖ ≤ ‖ f‖ + ‖ g‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
← distrib_normd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
at sq_ineq d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f + g‖ ≤ ‖ f‖ + ‖ g‖
have one_mul_g_eq_g : (1 : ℝ) * g = g := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2
1 * g = g
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2
1 * g = g
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2
1 * g = g
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 x : ↑ Ω
a.h ↑ (1 * g) x = ↑ g x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2
1 * g = g
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 x : ↑ Ω
a.h ↑ (1 * g) x = ↑ g x
show ((1 : ℝ) * g). 1 x = (1 : ℝ) * g. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 x : ↑ Ω
a.h ↑ (1 * g) x = ↑ g x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 x : ↑ Ω
a.h 1 * ↑ g x = ↑ g x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2
1 * g = g
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 x : ↑ Ω
a.h 1 * ↑ g x = ↑ g x
show (1 : ℝ) * g. 1 x = g. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 x : ↑ Ω
a.h 1 * ↑ g x = ↑ g x
ring ]
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
‖ f + g‖ ≤ ‖ f‖ + ‖ g‖
rwa [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + 1 * g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 one_mul_g_eq_g : 1 * g = g
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
one_mul_g_eq_g d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 one_mul_g_eq_g : 1 * g = g
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)sq_ineq : ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2 distrib_norm : ‖ f + 1 * g‖ ^ 2 = ‖ f‖ ^ 2 + 2 * ⟪ f, g⟫ _ℝ + ‖ g‖ ^ 2 one_mul_g_eq_g : 1 * g = g
h ‖ f + g‖ ^ 2 ≤ (‖ f‖ + ‖ g‖ ) ^ 2
at sq_ineq
end Inner
/-
We show properties on the distance induced by the inner product of H.
-/
namespace Dist
open Inner Ring Group
variable {v : eigen} {e : ℕ → Ω → ℝ} {μ : Measure Ω} [IsFiniteMeasure μ] (f g : H v e μ)
lemma H_dist_self (a : H v e μ) : dist a a = 0 := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
dist a a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
dist a a = 0
show dist a a = norm (a - a) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
dist a a = 0
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
‖ a - a‖ = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
dist a a = 0
have a_sub_a_eq_0 : a - a = 0 := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
‖ a - a‖ = 0
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a - a = 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a - a = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a - a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a - a = 0
show a - a = a + (- 1 : ℝ) * a by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a - a = 0
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a + - 1 * a = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a - a = 0
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a + - 1 * a) x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a - a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a + - 1 * a) x = ↑ 0 x
show (a + (- 1 : ℝ) * a). 1 x = a. 1 x + ((- 1 : ℝ) * a). 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a + - 1 * a) x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ (- 1 * a) x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a - a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ (- 1 * a) x = ↑ 0 x
show ((- 1 : ℝ) * a). 1 x = (- 1 : ℝ) * a. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + ↑ (- 1 * a) x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + - 1 * ↑ a x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a - a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + - 1 * ↑ a x = ↑ 0 x
show (0 : H v e μ). 1 x = 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + - 1 * ↑ a x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)x : ↑ Ω
a.h ↑ a x + - 1 * ↑ a x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
a - a = 0
ring
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
dist a a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)a_sub_a_eq_0 : a - a = 0
‖ a - a‖ = 0
a_sub_a_eq_0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)a_sub_a_eq_0 : a - a = 0
‖ 0 ‖ = 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)a_sub_a_eq_0 : a - a = 0
‖ 0 ‖ = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
dist a a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)a_sub_a_eq_0 : a - a = 0
‖ 0 ‖ = 0
show norm (0 : H v e μ) = Real.sqrt (inner (0 : H v e μ) 0 ) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)a_sub_a_eq_0 : a - a = 0
‖ 0 ‖ = 0
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)a_sub_a_eq_0 : a - a = 0
√⟪ 0 , 0 ⟫ _ℝ = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
dist a a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)a_sub_a_eq_0 : a - a = 0
√⟪ 0 , 0 ⟫ _ℝ = 0
inner_zero_eq_zero d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)a_sub_a_eq_0 : a - a = 0
√ 0 = 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)a_sub_a_eq_0 : a - a = 0
√ 0 = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a : ↑ (H v e μ)
dist a a = 0
exact Real.sqrt_zero
lemma dist_rw (a b : H v e μ) : (dist a b) = Real.sqrt (∑' i, v. 1 i * ((set_repr_ne a). some i - (set_repr_ne b). some i)^ 2 ) := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
show dist a b = norm (a - b) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
‖ a - b‖ = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
‖ a - b‖ = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
show norm (a - b) = Real.sqrt (H_inner (a - b) (a - b)) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
‖ a - b‖ = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
√ (H_inner (a - b) (a - b)) = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
unfold H_inner d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
√ (∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
let repr := λ i ↦ (set_repr_ne a). some i + (- 1 : ℝ) * (set_repr_ne b). some id : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ
√ (∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
have repr_a_minus_b : repr ∈ set_repr (a - b) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ
√ (∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ
repr ∈ set_repr (a - b)
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ
repr ∈ set_repr (a - b)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ
repr ∈ set_repr (a - b)
have repr_minus_b :
(λ i ↦ (- 1 : ℝ) * (set_repr_ne b). some i) ∈ set_repr ((- 1 : ℝ) * b) :=
⟨mul_repr b (- 1 ), mul_summable b (- 1 )⟩d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_minus_b : (fun i => - 1 * Set.Nonempty.some ⋯ i) ∈ set_repr (- 1 * b)
repr ∈ set_repr (a - b)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ
repr ∈ set_repr (a - b)
have repr_a_sub_b :
(λ i ↦ (set_repr_ne a). some i + (set_repr_ne ((- 1 : ℝ) * b)). some i) ∈ set_repr (a + (- 1 : ℝ) * b) :=
⟨add_repr a ((- 1 : ℝ) * b), add_summable a ((- 1 : ℝ) * b)⟩d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_minus_b : (fun i => - 1 * Set.Nonempty.some ⋯ i) ∈ set_repr (- 1 * b) repr_a_sub_b : (fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) ∈ set_repr (a + - 1 * b)
repr ∈ set_repr (a - b)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ
repr ∈ set_repr (a - b)
rwa [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_minus_b : (fun i => - 1 * Set.Nonempty.some ⋯ i) ∈ set_repr (- 1 * b) repr_a_sub_b : (fun i => Set.Nonempty.some ⋯ i + Set.Nonempty.some ⋯ i) ∈ set_repr (a + - 1 * b)
repr ∈ set_repr (a - b)
unique_choice repr_minus_b d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_minus_b : (fun i => - 1 * Set.Nonempty.some ⋯ i) ∈ set_repr (- 1 * b) repr_a_sub_b : (fun i => Set.Nonempty.some ⋯ i + (fun i => - 1 * Set.Nonempty.some ⋯ i) i) ∈ set_repr (a + - 1 * b)
repr ∈ set_repr (a - b)
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_minus_b : (fun i => - 1 * Set.Nonempty.some ⋯ i) ∈ set_repr (- 1 * b) repr_a_sub_b : (fun i => Set.Nonempty.some ⋯ i + (fun i => - 1 * Set.Nonempty.some ⋯ i) i) ∈ set_repr (a + - 1 * b)
repr ∈ set_repr (a - b)
at repr_a_sub_b
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b)
√ (∑' (i : ℕ), ↑ v i * Set.Nonempty.some ⋯ i * Set.Nonempty.some ⋯ i) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
unique_choice repr_a_minus_b d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b)
√ (∑' (i : ℕ), ↑ v i * repr i * repr i) = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b)
√ (∑' (i : ℕ), ↑ v i * repr i * repr i) = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
let a_r := (set_repr_ne a). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b) a_r := Set.Nonempty.some ⋯ : ℕ → ℝ
√ (∑' (i : ℕ), ↑ v i * repr i * repr i) = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
let b_r := (set_repr_ne b). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b) a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ
√ (∑' (i : ℕ), ↑ v i * repr i * repr i) = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b) a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ
√ (∑' (i : ℕ), ↑ v i * repr i * repr i) = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
show ∀ i, v. 1 i * repr i * repr i = v. 1 i * (repr i)^ 2 by [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * repr i * repr i = v. 1 i * (repr i) ^ 2 by intro i;
ring:1000 , ↑ v i * repr i * repr i ==> ↑ v i * repr i ^ 2 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b) a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ
√ (∑' (i : ℕ), ↑ v i * repr i * repr i) = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
intro i [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * repr i * repr i = v. 1 i * (repr i) ^ 2 by intro i;
ring:1000 , ↑ v i * repr i * repr i ==> ↑ v i * repr i ^ 2 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b) a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ i : ℕ
↑ v i * repr i * repr i = ↑ v i * repr i ^ 2
; [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * repr i * repr i = v. 1 i * (repr i) ^ 2 by intro i;
ring:1000 , ↑ v i * repr i * repr i ==> ↑ v i * repr i ^ 2 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b) a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ i : ℕ
↑ v i * repr i * repr i = ↑ v i * repr i ^ 2
[Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * repr i * repr i = v. 1 i * (repr i) ^ 2 by intro i;
ring:1000 , ↑ v i * repr i * repr i ==> ↑ v i * repr i ^ 2 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b) a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ
∀ (i : ℕ), ↑ v i * repr i * repr i = ↑ v i * repr i ^ 2
ring [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * repr i * repr i = v. 1 i * (repr i) ^ 2 by intro i;
ring:1000 , ↑ v i * repr i * repr i ==> ↑ v i * repr i ^ 2 ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b) a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ
√ (∑' (i : ℕ), ↑ v i * repr i ^ 2 ) = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
simp_rw[ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b) a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ
√ (∑' (i : ℕ), ↑ v i * repr i ^ 2 ) = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
show ∀ i, v. 1 i * (repr i)^ 2 = v. 1 i * (a_r i - b_r i)^ 2 by [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (repr i) ^ 2 = v. 1 i * (a_r i - b_r i) ^ 2 by intro i;
ring:1000 , ↑ v i * repr i ^ 2 ==> ↑ v i * (a_r i - b_r i) ^ 2
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , √ (∑' (i : ℕ), ↑ v i * (a_r i - b_r i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) ==> True d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b) a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ
√ (∑' (i : ℕ), ↑ v i * repr i ^ 2 ) = √ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
intro i [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (repr i) ^ 2 = v. 1 i * (a_r i - b_r i) ^ 2 by intro i;
ring:1000 , ↑ v i * repr i ^ 2 ==> ↑ v i * (a_r i - b_r i) ^ 2
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , √ (∑' (i : ℕ), ↑ v i * (a_r i - b_r i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) ==> True d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b) a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ i : ℕ
↑ v i * repr i ^ 2 = ↑ v i * (a_r i - b_r i) ^ 2
; [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (repr i) ^ 2 = v. 1 i * (a_r i - b_r i) ^ 2 by intro i;
ring:1000 , ↑ v i * repr i ^ 2 ==> ↑ v i * (a_r i - b_r i) ^ 2
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , √ (∑' (i : ℕ), ↑ v i * (a_r i - b_r i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) ==> True d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b) a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ i : ℕ
↑ v i * repr i ^ 2 = ↑ v i * (a_r i - b_r i) ^ 2
[Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (repr i) ^ 2 = v. 1 i * (a_r i - b_r i) ^ 2 by intro i;
ring:1000 , ↑ v i * repr i ^ 2 ==> ↑ v i * (a_r i - b_r i) ^ 2
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , √ (∑' (i : ℕ), ↑ v i * (a_r i - b_r i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) ==> True d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)repr := fun i => Set.Nonempty.some ⋯ i + - 1 * Set.Nonempty.some ⋯ i: ℕ → ℝ repr_a_minus_b : repr ∈ set_repr (a - b) a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ
∀ (i : ℕ), ↑ v i * repr i ^ 2 = ↑ v i * (a_r i - b_r i) ^ 2
ring [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (repr i) ^ 2 = v. 1 i * (a_r i - b_r i) ^ 2 by intro i;
ring:1000 , ↑ v i * repr i ^ 2 ==> ↑ v i * (a_r i - b_r i) ^ 2
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , √ (∑' (i : ℕ), ↑ v i * (a_r i - b_r i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) ==> True ]
lemma H_dist_comm (a b : H v e μ) : dist a b = dist b a := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = dist b a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = dist b a
dist_rw a b, d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) = dist b a
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = dist b a
dist_rw b a d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = dist b a
let a_r := (set_repr_ne a). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)a_r := Set.Nonempty.some ⋯ : ℕ → ℝ
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = dist b a
let b_r := (set_repr_ne b). somed : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = dist b a
simp_rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
show ∀ i, v. 1 i * (a_r i - b_r i)^ 2 = v. 1 i * (b_r i - a_r i)^ 2 by [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (a_r i - b_r i) ^ 2 = v. 1 i * (b_r i - a_r i) ^ 2 by intro i;
ring:1000 , ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ==> ↑ v i * (b_r i - a_r i) ^ 2
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , √ (∑' (i : ℕ), ↑ v i * (b_r i - a_r i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) ==> True d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 )
intro i [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (a_r i - b_r i) ^ 2 = v. 1 i * (b_r i - a_r i) ^ 2 by intro i;
ring:1000 , ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ==> ↑ v i * (b_r i - a_r i) ^ 2
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , √ (∑' (i : ℕ), ↑ v i * (b_r i - a_r i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) ==> True d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ i : ℕ
↑ v i * (a_r i - b_r i) ^ 2 = ↑ v i * (b_r i - a_r i) ^ 2
; [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (a_r i - b_r i) ^ 2 = v. 1 i * (b_r i - a_r i) ^ 2 by intro i;
ring:1000 , ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ==> ↑ v i * (b_r i - a_r i) ^ 2
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , √ (∑' (i : ℕ), ↑ v i * (b_r i - a_r i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) ==> True d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ i : ℕ
↑ v i * (a_r i - b_r i) ^ 2 = ↑ v i * (b_r i - a_r i) ^ 2
[Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (a_r i - b_r i) ^ 2 = v. 1 i * (b_r i - a_r i) ^ 2 by intro i;
ring:1000 , ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ==> ↑ v i * (b_r i - a_r i) ^ 2
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , √ (∑' (i : ℕ), ↑ v i * (b_r i - a_r i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) ==> True d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)a_r := Set.Nonempty.some ⋯ : ℕ → ℝ b_r := Set.Nonempty.some ⋯ : ℕ → ℝ
∀ (i : ℕ), ↑ v i * (a_r i - b_r i) ^ 2 = ↑ v i * (b_r i - a_r i) ^ 2
ring [Meta.Tactic.simp.rewrite] show ∀ i, v. 1 i * (a_r i - b_r i) ^ 2 = v. 1 i * (b_r i - a_r i) ^ 2 by intro i;
ring:1000 , ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ==> ↑ v i * (b_r i - a_r i) ^ 2
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , √ (∑' (i : ℕ), ↑ v i * (b_r i - a_r i) ^ 2 ) =
√ (∑' (i : ℕ), ↑ v i * (Set.Nonempty.some ⋯ i - Set.Nonempty.some ⋯ i) ^ 2 ) ==> True ]
lemma H_dist_nonneg (a b : H v e μ) : 0 <= dist a b := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
0 ≤ dist a b
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
0 ≤ dist a b
show dist a b = norm (a - b) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
0 ≤ dist a b
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
0 ≤ ‖ a - b‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
0 ≤ dist a b
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
0 ≤ ‖ a - b‖
show norm (a - b) = Real.sqrt (H_inner (a - b) (a - b)) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
0 ≤ ‖ a - b‖
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
0 ≤ √ (H_inner (a - b) (a - b))
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
0 ≤ dist a b
exact Real.sqrt_nonneg (H_inner (a - b) (a - b))
lemma H_eq_of_dist_eq_zero {a b : H v e μ} : dist a b = 0 → a = b := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
intro zero_dist d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : dist a b = 0
a = b
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : dist a b = 0
a = b
show dist a b = norm (a - b) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : dist a b = 0
a = b
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ‖ a - b‖ = 0
a = b
at zero_dist d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ‖ a - b‖ = 0
a = b
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ‖ a - b‖ = 0
a = b
show norm (a - b) = Real.sqrt (inner (a - b) (a - b)) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ‖ a - b‖ = 0
a = b
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : √⟪ a - b, a - b⟫ _ℝ = 0
a = b
at zero_dist d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : √⟪ a - b, a - b⟫ _ℝ = 0
a = b
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : √⟪ a - b, a - b⟫ _ℝ = 0
a = b
Real.sqrt_eq_zero (inner_nonneg (a - b)) d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0
a = b
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0
a = b
at zero_dist d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0
a = b
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
have a_minus_b_eq_zero : a - b = 0 := null_inner_imp_null_f (a - b) zero_distd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a - b = 0
a = b
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a - b = 0 x : ↑ Ω
a.h ↑ a x = ↑ b x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
have dif_imp_eq : a. 1 x - b. 1 x = 0 → a. 1 x = b. 1 x := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a - b = 0 x : ↑ Ω
a.h ↑ a x = ↑ b x
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a - b = 0 x : ↑ Ω
↑ a x - ↑ b x = 0 → ↑ a x = ↑ b x
intro h d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a - b = 0 x : ↑ Ωh : ↑ a x - ↑ b x = 0
↑ a x = ↑ b x
; d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a - b = 0 x : ↑ Ωh : ↑ a x - ↑ b x = 0
↑ a x = ↑ b x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a - b = 0 x : ↑ Ω
↑ a x - ↑ b x = 0 → ↑ a x = ↑ b x
linarith
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
apply dif_imp_eq d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a - b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b x
a.h ↑ a x - ↑ b x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a - b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b x
a.h ↑ a x - ↑ b x = 0
show a. 1 x - b. 1 x = a. 1 x + (- 1 : ℝ) * b. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a - b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b x
a.h ↑ a x - ↑ b x = 0
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a - b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b x
a.h ↑ a x + - 1 * ↑ b x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a - b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b x
a.h ↑ a x + - 1 * ↑ b x = 0
show (a - b) = a + (- 1 : ℝ) * b by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a - b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b x
a.h ↑ a x + - 1 * ↑ b x = 0
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a + - 1 * b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b x
a.h ↑ a x + - 1 * ↑ b x = 0
at a_minus_b_eq_zero d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a + - 1 * b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b x
a.h ↑ a x + - 1 * ↑ b x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
have a_minus_b_eq_zero_val : (a + (- 1 : ℝ) * b). 1 = (0 : H v e μ). 1 := congrArg Subtype.val a_minus_b_eq_zerod : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a + - 1 * b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b xa_minus_b_eq_zero_val : ↑ (a + - 1 * b) = ↑ 0
a.h ↑ a x + - 1 * ↑ b x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a + - 1 * b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b xa_minus_b_eq_zero_val : ↑ (a + - 1 * b) = ↑ 0
a.h ↑ a x + - 1 * ↑ b x = 0
show (a + (- 1 : ℝ) * b). 1 = (λ x ↦ a. 1 x + (- 1 : ℝ) * b. 1 x) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a + - 1 * b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b xa_minus_b_eq_zero_val : ↑ (a + - 1 * b) = ↑ 0
a.h ↑ a x + - 1 * ↑ b x = 0
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a + - 1 * b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b xa_minus_b_eq_zero_val : (fun x => ↑ a x + - 1 * ↑ b x) = ↑ 0
a.h ↑ a x + - 1 * ↑ b x = 0
at a_minus_b_eq_zero_val d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a + - 1 * b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b xa_minus_b_eq_zero_val : (fun x => ↑ a x + - 1 * ↑ b x) = ↑ 0
a.h ↑ a x + - 1 * ↑ b x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a + - 1 * b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b xa_minus_b_eq_zero_val : (fun x => ↑ a x + - 1 * ↑ b x) = ↑ 0
a.h ↑ a x + - 1 * ↑ b x = 0
congrFun a_minus_b_eq_zero_val x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a + - 1 * b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b xa_minus_b_eq_zero_val : (fun x => ↑ a x + - 1 * ↑ b x) = ↑ 0
a.h ↑ 0 x = 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)zero_dist : ⟪ a - b, a - b⟫ _ℝ = 0 a_minus_b_eq_zero : a + - 1 * b = 0 x : ↑ Ωdif_imp_eq : ↑ a x - ↑ b x = 0 → ↑ a x = ↑ b xa_minus_b_eq_zero_val : (fun x => ↑ a x + - 1 * ↑ b x) = ↑ 0
a.h ↑ 0 x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b : ↑ (H v e μ)
dist a b = 0 → a = b
rfl
lemma H_dist_triangle (a b c : H v e μ) : dist a c ≤ dist a b + dist b c := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
dist a c ≤ dist a b + dist b c
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
dist a c ≤ dist a b + dist b c
show dist a c = norm (a - c) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
dist a c ≤ dist a b + dist b c
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
‖ a - c‖ ≤ dist a b + dist b c
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
dist a c ≤ dist a b + dist b c
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
‖ a - c‖ ≤ dist a b + dist b c
show dist a b = norm (a - b) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
‖ a - c‖ ≤ dist a b + dist b c
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
‖ a - c‖ ≤ ‖ a - b‖ + dist b c
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
dist a c ≤ dist a b + dist b c
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
‖ a - c‖ ≤ ‖ a - b‖ + dist b c
show dist b c = norm (b - c) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
‖ a - c‖ ≤ ‖ a - b‖ + dist b c
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
‖ a - c‖ ≤ ‖ a - b‖ + ‖ b - c‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
dist a c ≤ dist a b + dist b c
have split_a_sub_c : a - c = (a - b) + (b - c) := d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
‖ a - c‖ ≤ ‖ a - b‖ + ‖ b - c‖
by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
a - c = a - b + (b - c)
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
a - c = a - b + (b - c)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
a - c = a - b + (b - c)
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ (a - b + (b - c)) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
a - c = a - b + (b - c)
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ (a - b + (b - c)) x
show (a - b + (b - c)). 1 x = (a - b). 1 x + (b - c). 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ (a - b + (b - c)) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ (a - b) x + ↑ (b - c) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
a - c = a - b + (b - c)
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ (a - b) x + ↑ (b - c) x
show (a - b). 1 x = a. 1 x + (- 1 :ℝ)* b. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ (a - b) x + ↑ (b - c) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ a x + - 1 * ↑ b x + ↑ (b - c) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
a - c = a - b + (b - c)
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ a x + - 1 * ↑ b x + ↑ (b - c) x
show (b - c). 1 x = b. 1 x + (- 1 :ℝ)* c. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ a x + - 1 * ↑ b x + ↑ (b - c) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ a x + - 1 * ↑ b x + (↑ b x + - 1 * ↑ c x)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
a - c = a - b + (b - c)
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ a x + - 1 * ↑ b x + (↑ b x + - 1 * ↑ c x)
show a. 1 x + - 1 * b. 1 x + (b. 1 x + - 1 * c. 1 x) = a. 1 x + (- 1 :ℝ)* c. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ a x + - 1 * ↑ b x + (↑ b x + - 1 * ↑ c x)
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ a x + - 1 * ↑ c x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
a - c = a - b + (b - c)
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ a x + - 1 * ↑ c x
show (a - c). 1 x = a. 1 x + (- 1 :ℝ)* c. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a - c) x = ↑ a x + - 1 * ↑ c x
rfl ]
}
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
dist a c ≤ dist a b + dist b c
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)split_a_sub_c : a - c = a - b + (b - c)
‖ a - c‖ ≤ ‖ a - b‖ + ‖ b - c‖
split_a_sub_c d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)split_a_sub_c : a - c = a - b + (b - c)
‖ a - b + (b - c)‖ ≤ ‖ a - b‖ + ‖ b - c‖
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)split_a_sub_c : a - c = a - b + (b - c)
‖ a - b + (b - c)‖ ≤ ‖ a - b‖ + ‖ b - c‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, a, b, c : ↑ (H v e μ)
dist a c ≤ dist a b + dist b c
exact ineq_add_norm (a - b) (b - c)
end Dist
/-
- We instanciate the `NormedAddCommGroup` and `InnerProductSpace ℝ` typeclasses for H.
-/
variable {v : eigen} {e : ℕ → Ω → ℝ} {μ : Measure Ω} [IsFiniteMeasure μ]
lemma coe_mul_nat_fun (f : H v e μ) (n : ℕ) : (λ (n : ℕ) (f : H v e μ) ↦ (n : ℝ) * f) n f = (n : ℝ) * f := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ
(fun n f => ↑ n * f) n f = ↑ n * f
rfl
lemma coe_mul_int_fun (f : H v e μ) (z : ℤ) : (λ (z : ℤ) (f : H v e μ) ↦ (z : ℝ) * f) z f = (z : ℝ) * f := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)z : ℤ
(fun z f => ↑ z * f) z f = ↑ z * f
rfl
lemma cast_nat_succ (n : ℕ) : ↑ (n + 1 ) = (n : ℝ) + 1 := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ
↑ (n + 1 ) = ↑ n + 1
simp [Meta.Tactic.simp.rewrite] @ Nat.cast_add:1000 , ↑ (n + 1 ) ==> ↑ n + ↑ 1
[Meta.Tactic.simp.rewrite] @ Nat.cast_one:1000 , ↑ 1 ==> 1
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , ↑ n + 1 = ↑ n + 1 ==> True
lemma mul_succ_eq (f : H v e μ) (n : ℕ) : ((n : ℝ) + 1 ) * f = ((n : ℝ) * f + f) := by
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ
(↑ n + 1 ) * f = ↑ n * f + f
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ x : ↑ Ω
a.h ↑ ((↑ n + 1 ) * f) x = ↑ (↑ n * f + f) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ
(↑ n + 1 ) * f = ↑ n * f + f
let n' := (n : ℝ)d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ x : ↑ Ωn' := ↑ n: ℝ
a.h ↑ ((↑ n + 1 ) * f) x = ↑ (↑ n * f + f) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ
(↑ n + 1 ) * f = ↑ n * f + f
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ x : ↑ Ωn' := ↑ n: ℝ
a.h ↑ ((↑ n + 1 ) * f) x = ↑ (↑ n * f + f) x
show (n' * f + f). 1 x = (n' * f). 1 x + f. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ x : ↑ Ωn' := ↑ n: ℝ
a.h ↑ ((↑ n + 1 ) * f) x = ↑ (↑ n * f + f) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ x : ↑ Ωn' := ↑ n: ℝ
a.h ↑ ((↑ n + 1 ) * f) x = ↑ (n' * f) x + ↑ f x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ
(↑ n + 1 ) * f = ↑ n * f + f
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ x : ↑ Ωn' := ↑ n: ℝ
a.h ↑ ((↑ n + 1 ) * f) x = ↑ (n' * f) x + ↑ f x
show (n' * f). 1 x = n' * f. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ x : ↑ Ωn' := ↑ n: ℝ
a.h ↑ ((↑ n + 1 ) * f) x = ↑ (n' * f) x + ↑ f x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ x : ↑ Ωn' := ↑ n: ℝ
a.h ↑ ((↑ n + 1 ) * f) x = n' * ↑ f x + ↑ f x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ
(↑ n + 1 ) * f = ↑ n * f + f
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ x : ↑ Ωn' := ↑ n: ℝ
a.h ↑ ((↑ n + 1 ) * f) x = n' * ↑ f x + ↑ f x
show ((n' + (1 :ℝ)) * f). 1 x = (n' + 1 ) * f. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ x : ↑ Ωn' := ↑ n: ℝ
a.h ↑ ((↑ n + 1 ) * f) x = n' * ↑ f x + ↑ f x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ x : ↑ Ωn' := ↑ n: ℝ
a.h (n' + 1 ) * ↑ f x = n' * ↑ f x + ↑ f x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)n : ℕ
(↑ n + 1 ) * f = ↑ n * f + f
ring
noncomputable instance : NormedAddCommGroup (H v e μ) where
dist := λ f g ↦ dist f g
edist := λ f g ↦ ENNReal.ofReal (dist f g)
norm := λ f ↦ norm f
add := λ f g ↦ f + g
add_assoc := Group.H_add_assoc
zero_add := Group.H_zero_add
add_zero := Group.H_add_zero
nsmul := λ n f ↦ (n : ℝ) * f
neg := λ f ↦ - f
zsmul := λ z f ↦ (z : ℝ) * f
add_left_neg := Group.H_add_left_neg
add_comm := Group.H_add_comm
dist_self := Dist.H_dist_self
dist_comm := Dist.H_dist_comm
dist_triangle := Dist.H_dist_triangle
edist_dist := λ f g ↦ rfl
eq_of_dist_eq_zero := Dist.H_eq_of_dist_eq_zero
dist_eq := λ x y ↦ by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ x, y : ↑ (H v e μ)
dist x y = ‖ x - y‖
rfl
nsmul_zero := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), (fun n f => ↑ n * f) 0 x = 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), (fun n f => ↑ n * f) 0 x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), (fun n f => ↑ n * f) 0 x = 0
intro f d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
(fun n f => ↑ n * f) 0 f = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), (fun n f => ↑ n * f) 0 x = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
(fun n f => ↑ n * f) 0 f = 0
coe_mul_nat_fun f 0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
↑ 0 * f = 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
↑ 0 * f = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), (fun n f => ↑ n * f) 0 x = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
↑ 0 * f = 0
show ((0 : ℕ) : ℝ) = (0 : ℝ) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
↑ 0 * f = 0
simp [Meta.Tactic.simp.rewrite] CharP.cast_eq_zero:1000 , ↑ 0 ==> 0
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , 0 = 0 ==> True ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
0 * f = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), (fun n f => ↑ n * f) 0 x = 0
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (0 * f) x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), (fun n f => ↑ n * f) 0 x = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (0 * f) x = ↑ 0 x
show ((0 :ℝ) * f). 1 x = (0 :ℝ) * f. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (0 * f) x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h 0 * ↑ f x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), (fun n f => ↑ n * f) 0 x = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h 0 * ↑ f x = ↑ 0 x
show (0 : H v e μ). 1 x = 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h 0 * ↑ f x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h 0 * ↑ f x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), (fun n f => ↑ n * f) 0 x = 0
ring
}
nsmul_succ := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (x : ↑ (H v e μ)), (fun n f => ↑ n * f) (n + 1 ) x = (fun n f => ↑ n * f) n x + x
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (x : ↑ (H v e μ)), (fun n f => ↑ n * f) (n + 1 ) x = (fun n f => ↑ n * f) n x + x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (x : ↑ (H v e μ)), (fun n f => ↑ n * f) (n + 1 ) x = (fun n f => ↑ n * f) n x + x
intro n f d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun n f => ↑ n * f) (n + 1 ) f = (fun n f => ↑ n * f) n f + f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (x : ↑ (H v e μ)), (fun n f => ↑ n * f) (n + 1 ) x = (fun n f => ↑ n * f) n x + x
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun n f => ↑ n * f) (n + 1 ) f = (fun n f => ↑ n * f) n f + f
coe_mul_nat_fun f (n+ 1 ), d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (n + 1 ) * f = (fun n f => ↑ n * f) n f + f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun n f => ↑ n * f) (n + 1 ) f = (fun n f => ↑ n * f) n f + f
cast_nat_succ n, d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(↑ n + 1 ) * f = (fun n f => ↑ n * f) n f + f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun n f => ↑ n * f) (n + 1 ) f = (fun n f => ↑ n * f) n f + f
coe_mul_nat_fun f n d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(↑ n + 1 ) * f = ↑ n * f + f
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(↑ n + 1 ) * f = ↑ n * f + f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (x : ↑ (H v e μ)), (fun n f => ↑ n * f) (n + 1 ) x = (fun n f => ↑ n * f) n x + x
exact mul_succ_eq f n
}
zsmul_zero' := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ↑ (H v e μ)), (fun z f => ↑ z * f) 0 a = 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ↑ (H v e μ)), (fun z f => ↑ z * f) 0 a = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ↑ (H v e μ)), (fun z f => ↑ z * f) 0 a = 0
intro f d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
(fun z f => ↑ z * f) 0 f = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ↑ (H v e μ)), (fun z f => ↑ z * f) 0 a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
(fun z f => ↑ z * f) 0 f = 0
coe_mul_int_fun f 0 d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
↑ 0 * f = 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
↑ 0 * f = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ↑ (H v e μ)), (fun z f => ↑ z * f) 0 a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
↑ 0 * f = 0
Int.cast_zero d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
0 * f = 0
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
0 * f = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ↑ (H v e μ)), (fun z f => ↑ z * f) 0 a = 0
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (0 * f) x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ↑ (H v e μ)), (fun z f => ↑ z * f) 0 a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (0 * f) x = ↑ 0 x
show ((0 : ℝ) * f). 1 x = 0 * f. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (0 * f) x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h 0 * ↑ f x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ↑ (H v e μ)), (fun z f => ↑ z * f) 0 a = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h 0 * ↑ f x = ↑ 0 x
show (0 : H v e μ). 1 x = 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h 0 * ↑ f x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h 0 * ↑ f x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ↑ (H v e μ)), (fun z f => ↑ z * f) 0 a = 0
ring
}
zsmul_succ' := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.ofNat (Nat.succ n)) a = (fun z f => ↑ z * f) (Int.ofNat n) a + a
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.ofNat (Nat.succ n)) a = (fun z f => ↑ z * f) (Int.ofNat n) a + a
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.ofNat (Nat.succ n)) a = (fun z f => ↑ z * f) (Int.ofNat n) a + a
intro n f d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun z f => ↑ z * f) (Int.ofNat (Nat.succ n)) f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.ofNat (Nat.succ n)) a = (fun z f => ↑ z * f) (Int.ofNat n) a + a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun z f => ↑ z * f) (Int.ofNat (Nat.succ n)) f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
show Nat.succ n = n + 1 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun z f => ↑ z * f) (Int.ofNat (Nat.succ n)) f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun z f => ↑ z * f) (Int.ofNat (n + 1 )) f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.ofNat (Nat.succ n)) a = (fun z f => ↑ z * f) (Int.ofNat n) a + a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun z f => ↑ z * f) (Int.ofNat (n + 1 )) f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
coe_mul_int_fun f (Int.ofNat (n + 1 )) d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (Int.ofNat (n + 1 )) * f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (Int.ofNat (n + 1 )) * f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.ofNat (Nat.succ n)) a = (fun z f => ↑ z * f) (Int.ofNat n) a + a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (Int.ofNat (n + 1 )) * f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
show (Int.ofNat (n + 1 ) : ℝ) = ↑ (n + 1 ) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (Int.ofNat (n + 1 )) * f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (n + 1 ) * f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.ofNat (Nat.succ n)) a = (fun z f => ↑ z * f) (Int.ofNat n) a + a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (n + 1 ) * f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
cast_nat_succ n d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(↑ n + 1 ) * f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(↑ n + 1 ) * f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.ofNat (Nat.succ n)) a = (fun z f => ↑ z * f) (Int.ofNat n) a + a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(↑ n + 1 ) * f = (fun z f => ↑ z * f) (Int.ofNat n) f + f
coe_mul_int_fun f (Int.ofNat n) d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(↑ n + 1 ) * f = ↑ (Int.ofNat n) * f + f
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(↑ n + 1 ) * f = ↑ (Int.ofNat n) * f + f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.ofNat (Nat.succ n)) a = (fun z f => ↑ z * f) (Int.ofNat n) a + a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(↑ n + 1 ) * f = ↑ (Int.ofNat n) * f + f
show (Int.ofNat n : ℝ) = (n : ℝ) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(↑ n + 1 ) * f = ↑ (Int.ofNat n) * f + f
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(↑ n + 1 ) * f = ↑ n * f + f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.ofNat (Nat.succ n)) a = (fun z f => ↑ z * f) (Int.ofNat n) a + a
exact mul_succ_eq f n
}
zsmul_neg' := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
intro n f d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun z f => ↑ z * f) (Int.negSucc n) f = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun z f => ↑ z * f) (Int.negSucc n) f = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) f
show Int.negSucc n = - (n + 1 ) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun z f => ↑ z * f) (Int.negSucc n) f = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) f
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun z f => ↑ z * f) (- (↑ n + 1 )) f = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun z f => ↑ z * f) (- (↑ n + 1 )) f = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) f
show Nat.succ n = n + 1 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun z f => ↑ z * f) (- (↑ n + 1 )) f = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) f
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun z f => ↑ z * f) (- (↑ n + 1 )) f = - (fun z f => ↑ z * f) (↑ (n + 1 )) f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
(fun z f => ↑ z * f) (- (↑ n + 1 )) f = - (fun z f => ↑ z * f) (↑ (n + 1 )) f
coe_mul_int_fun f (- (n + 1 )) d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - (fun z f => ↑ z * f) (↑ (n + 1 )) f
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - (fun z f => ↑ z * f) (↑ (n + 1 )) f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - (fun z f => ↑ z * f) (↑ (n + 1 )) f
show - ((fun (z:ℤ) (f:H v e μ) ↦ (z:ℝ) * f) (↑ (n + 1 )) f) = (- 1 : ℝ) * ((fun (z:ℤ) (f:H v e μ) ↦ (z:ℝ) * f) (↑ (n + 1 )) f) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - (fun z f => ↑ z * f) (↑ (n + 1 )) f
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - 1 * (fun z f => ↑ z * f) (↑ (n + 1 )) f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - 1 * (fun z f => ↑ z * f) (↑ (n + 1 )) f
show (↑ (n + 1 ) : ℤ) = (n : ℤ) + 1 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - 1 * (fun z f => ↑ z * f) (↑ (n + 1 )) f
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - 1 * (fun z f => ↑ z * f) (↑ n + 1 ) f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - 1 * (fun z f => ↑ z * f) (↑ n + 1 ) f
coe_mul_int_fun f (n + 1 ) d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - 1 * (↑ (↑ n + 1 ) * f)
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - 1 * (↑ (↑ n + 1 ) * f)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - 1 * (↑ (↑ n + 1 ) * f)
show (↑ ((n : ℤ) + 1 ) : ℝ) = (n : ℝ) + 1 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - 1 * (↑ (↑ n + 1 ) * f)
simp [Meta.Tactic.simp.rewrite] @ Int.cast_add:1000 , ↑ (↑ n + 1 ) ==> ↑↑ n + ↑ 1
[Meta.Tactic.simp.rewrite] @ Int.cast_natCast:10000 , ↑↑ n ==> ↑ n
[Meta.Tactic.simp.rewrite] @ Int.cast_one:1000 , ↑ 1 ==> 1
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , ↑ n + 1 = ↑ n + 1 ==> True ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - 1 * ((↑ n + 1 ) * f)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - 1 * ((↑ n + 1 ) * f)
show (↑ (- ((n : ℤ) + 1 )) : ℝ) = - ((n : ℝ) + 1 ) by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
↑ (- (↑ n + 1 )) * f = - 1 * ((↑ n + 1 ) * f)
simp [Meta.Tactic.simp.rewrite] @ neg_add_rev:1000 , - (↑ n + 1 ) ==> - 1 + -↑ n
[Meta.Tactic.simp.rewrite] @ Int.cast_add:1000 , ↑ (- 1 + -↑ n) ==> ↑ (- 1 ) + ↑ (-↑ n)
[Meta.Tactic.simp.rewrite] @ Int.cast_neg:1000 , ↑ (- 1 ) ==> -↑ 1
[Meta.Tactic.simp.rewrite] @ Int.cast_one:1000 , ↑ 1 ==> 1
[Meta.Tactic.simp.rewrite] @ Int.cast_neg:1000 , ↑ (-↑ n) ==> -↑↑ n
[Meta.Tactic.simp.rewrite] @ Int.cast_natCast:10000 , ↑↑ n ==> ↑ n
[Meta.Tactic.simp.rewrite] @ neg_add_rev:1000 , - (↑ n + 1 ) ==> - 1 + -↑ n
[Meta.Tactic.simp.rewrite] @ eq_self:1000 , - 1 + -↑ n = - 1 + -↑ n ==> True ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)
- (↑ n + 1 ) * f = - 1 * ((↑ n + 1 ) * f)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (- (↑ n + 1 ) * f) x = ↑ (- 1 * ((↑ n + 1 ) * f)) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (- (↑ n + 1 ) * f) x = ↑ (- 1 * ((↑ n + 1 ) * f)) x
show (- ((n : ℝ) + (1 : ℝ)) * f). 1 x = - ((n : ℝ) + 1 ) * f. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (- (↑ n + 1 ) * f) x = ↑ (- 1 * ((↑ n + 1 ) * f)) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)x : ↑ Ω
a.h - (↑ n + 1 ) * ↑ f x = ↑ (- 1 * ((↑ n + 1 ) * f)) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)x : ↑ Ω
a.h - (↑ n + 1 ) * ↑ f x = ↑ (- 1 * ((↑ n + 1 ) * f)) x
show ( (- 1 : ℝ) * ( ((n : ℝ) + (1 : ℝ)) * f ) ). 1 x = (- 1 : ℝ) * (((n : ℝ) + (1 : ℝ)) * f). 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)x : ↑ Ω
a.h - (↑ n + 1 ) * ↑ f x = ↑ (- 1 * ((↑ n + 1 ) * f)) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)x : ↑ Ω
a.h - (↑ n + 1 ) * ↑ f x = - 1 * ↑ ((↑ n + 1 ) * f) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)x : ↑ Ω
a.h - (↑ n + 1 ) * ↑ f x = - 1 * ↑ ((↑ n + 1 ) * f) x
show (((n : ℝ) + (1 : ℝ)) * f). 1 x = ((n : ℝ) + (1 : ℝ)) * f. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)x : ↑ Ω
a.h - (↑ n + 1 ) * ↑ f x = - 1 * ↑ ((↑ n + 1 ) * f) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ n : ℕ f : ↑ (H v e μ)x : ↑ Ω
a.h - (↑ n + 1 ) * ↑ f x = - 1 * ((↑ n + 1 ) * ↑ f x)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (n : ℕ) (a : ↑ (H v e μ)), (fun z f => ↑ z * f) (Int.negSucc n) a = - (fun z f => ↑ z * f) (↑ (Nat.succ n)) a
ring
}
open Inner
noncomputable instance : InnerProductSpace ℝ (H v e μ) where
smul := λ a f ↦ a * f
one_smul := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (b : ↑ (H v e μ)), 1 • b = b
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (b : ↑ (H v e μ)), 1 • b = b
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (b : ↑ (H v e μ)), 1 • b = b
intro b d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ b : ↑ (H v e μ)
1 • b = b
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (b : ↑ (H v e μ)), 1 • b = b
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ b : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (1 • b) x = ↑ b x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (b : ↑ (H v e μ)), 1 • b = b
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ b : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (1 • b) x = ↑ b x
show ((1 :ℝ) • b). 1 x = (1 :ℝ) * b. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ b : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (1 • b) x = ↑ b x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ b : ↑ (H v e μ)x : ↑ Ω
a.h 1 * ↑ b x = ↑ b x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (b : ↑ (H v e μ)), 1 • b = b
ring
}
mul_smul := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ℝ) (b : ↑ (H v e μ)), (x * y) • b = x • y • b
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ℝ) (b : ↑ (H v e μ)), (x * y) • b = x • y • b
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ℝ) (b : ↑ (H v e μ)), (x * y) • b = x • y • b
intro x y b d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ x, y : ℝ b : ↑ (H v e μ)
(x * y) • b = x • y • b
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ℝ) (b : ↑ (H v e μ)), (x * y) • b = x • y • b
ext e d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e✝ : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ x, y : ℝ b : ↑ (H v e✝ μ)e : ↑ Ω
a.h ↑ ((x * y) • b) e = ↑ (x • y • b) e
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ℝ) (b : ↑ (H v e μ)), (x * y) • b = x • y • b
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e✝ : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ x, y : ℝ b : ↑ (H v e✝ μ)e : ↑ Ω
a.h ↑ ((x * y) • b) e = ↑ (x • y • b) e
show ((x* y) • b). 1 e = (x* y) * b. 1 e by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e✝ : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ x, y : ℝ b : ↑ (H v e✝ μ)e : ↑ Ω
a.h ↑ ((x * y) • b) e = ↑ (x • y • b) e
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e✝ : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ x, y : ℝ b : ↑ (H v e✝ μ)e : ↑ Ω
a.h x * y * ↑ b e = ↑ (x • y • b) e
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ℝ) (b : ↑ (H v e μ)), (x * y) • b = x • y • b
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e✝ : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ x, y : ℝ b : ↑ (H v e✝ μ)e : ↑ Ω
a.h x * y * ↑ b e = ↑ (x • y • b) e
show (x • y • b). 1 e = x * y • b. 1 e by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e✝ : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ x, y : ℝ b : ↑ (H v e✝ μ)e : ↑ Ω
a.h x * y * ↑ b e = ↑ (x • y • b) e
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e✝ : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ x, y : ℝ b : ↑ (H v e✝ μ)e : ↑ Ω
a.h x * y * ↑ b e = x * y • ↑ b e
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ℝ) (b : ↑ (H v e μ)), (x * y) • b = x • y • b
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e✝ : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ x, y : ℝ b : ↑ (H v e✝ μ)e : ↑ Ω
a.h x * y * ↑ b e = x * y • ↑ b e
show y • b. 1 e = y * b. 1 e by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e✝ : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ x, y : ℝ b : ↑ (H v e✝ μ)e : ↑ Ω
a.h x * y * ↑ b e = x * y • ↑ b e
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e✝ : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ x, y : ℝ b : ↑ (H v e✝ μ)e : ↑ Ω
a.h x * y * ↑ b e = x * (y * ↑ b e)
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ℝ) (b : ↑ (H v e μ)), (x * y) • b = x • y • b
ring
}
smul_zero := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ), a • 0 = 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ), a • 0 = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ), a • 0 = 0
intro a d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ
a • 0 = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ), a • 0 = 0
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ x : ↑ Ω
a.h ↑ (a • 0 ) x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ), a • 0 = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ x : ↑ Ω
a.h ↑ (a • 0 ) x = ↑ 0 x
show (a • (0 : H v e μ)). 1 x = a * 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ x : ↑ Ω
a.h ↑ (a • 0 ) x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ x : ↑ Ω
a.h a * 0 = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ), a • 0 = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ x : ↑ Ω
a.h a * 0 = ↑ 0 x
show (0 : H v e μ). 1 x = 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ x : ↑ Ω
a.h a * 0 = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ x : ↑ Ω
a.h a * 0 = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ), a • 0 = 0
ring
}
smul_add := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (x y : ↑ (H v e μ)), a • (x + y) = a • x + a • y
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (x y : ↑ (H v e μ)), a • (x + y) = a • x + a • y
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (x y : ↑ (H v e μ)), a • (x + y) = a • x + a • y
intro a f g d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ f, g : ↑ (H v e μ)
a • (f + g) = a • f + a • g
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (x y : ↑ (H v e μ)), a • (x + y) = a • x + a • y
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ f, g : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a • (f + g)) x = ↑ (a • f + a • g) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (x y : ↑ (H v e μ)), a • (x + y) = a • x + a • y
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ f, g : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a • (f + g)) x = ↑ (a • f + a • g) x
show (a • (f + g)). 1 x = a * (f + g). 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ f, g : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (a • (f + g)) x = ↑ (a • f + a • g) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ f, g : ↑ (H v e μ)x : ↑ Ω
a.h a * ↑ (f + g) x = ↑ (a • f + a • g) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (x y : ↑ (H v e μ)), a • (x + y) = a • x + a • y
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ f, g : ↑ (H v e μ)x : ↑ Ω
a.h a * ↑ (f + g) x = ↑ (a • f + a • g) x
show (f + g). 1 x = f. 1 x + g. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ f, g : ↑ (H v e μ)x : ↑ Ω
a.h a * ↑ (f + g) x = ↑ (a • f + a • g) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ f, g : ↑ (H v e μ)x : ↑ Ω
a.h a * (↑ f x + ↑ g x) = ↑ (a • f + a • g) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (x y : ↑ (H v e μ)), a • (x + y) = a • x + a • y
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ f, g : ↑ (H v e μ)x : ↑ Ω
a.h a * (↑ f x + ↑ g x) = ↑ (a • f + a • g) x
show (a • f + a • g). 1 x = a * f. 1 x + a * g. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ f, g : ↑ (H v e μ)x : ↑ Ω
a.h a * (↑ f x + ↑ g x) = ↑ (a • f + a • g) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ a : ℝ f, g : ↑ (H v e μ)x : ↑ Ω
a.h a * (↑ f x + ↑ g x) = a * ↑ f x + a * ↑ g x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (x y : ↑ (H v e μ)), a • (x + y) = a • x + a • y
ring
}
add_smul := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (r s : ℝ) (x : ↑ (H v e μ)), (r + s) • x = r • x + s • x
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (r s : ℝ) (x : ↑ (H v e μ)), (r + s) • x = r • x + s • x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (r s : ℝ) (x : ↑ (H v e μ)), (r + s) • x = r • x + s • x
intro r s f d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r, s : ℝ f : ↑ (H v e μ)
(r + s) • f = r • f + s • f
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (r s : ℝ) (x : ↑ (H v e μ)), (r + s) • x = r • x + s • x
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r, s : ℝ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ ((r + s) • f) x = ↑ (r • f + s • f) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (r s : ℝ) (x : ↑ (H v e μ)), (r + s) • x = r • x + s • x
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r, s : ℝ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ ((r + s) • f) x = ↑ (r • f + s • f) x
show ((r + s) • f). 1 x = (r + s) * f. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r, s : ℝ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ ((r + s) • f) x = ↑ (r • f + s • f) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r, s : ℝ f : ↑ (H v e μ)x : ↑ Ω
a.h (r + s) * ↑ f x = ↑ (r • f + s • f) x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (r s : ℝ) (x : ↑ (H v e μ)), (r + s) • x = r • x + s • x
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r, s : ℝ f : ↑ (H v e μ)x : ↑ Ω
a.h (r + s) * ↑ f x = ↑ (r • f + s • f) x
show (r • f + s • f). 1 x = r * f. 1 x + s * f. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r, s : ℝ f : ↑ (H v e μ)x : ↑ Ω
a.h (r + s) * ↑ f x = ↑ (r • f + s • f) x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r, s : ℝ f : ↑ (H v e μ)x : ↑ Ω
a.h (r + s) * ↑ f x = r * ↑ f x + s * ↑ f x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (r s : ℝ) (x : ↑ (H v e μ)), (r + s) • x = r • x + s • x
ring
}
zero_smul := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), 0 • x = 0
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), 0 • x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), 0 • x = 0
intro f d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
0 • f = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), 0 • x = 0
ext x d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (0 • f) x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), 0 • x = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (0 • f) x = ↑ 0 x
show ((0 :ℝ) • f). 1 x = (0 :ℝ) * f. 1 x by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h ↑ (0 • f) x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h 0 * ↑ f x = ↑ 0 x
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), 0 • x = 0
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h 0 * ↑ f x = ↑ 0 x
show (0 : H v e μ). 1 x = 0 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h 0 * ↑ f x = ↑ 0 x
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)x : ↑ Ω
a.h 0 * ↑ f x = 0
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), 0 • x = 0
ring
}
norm_smul_le := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (b : ↑ (H v e μ)), ‖ a • b‖ ≤ ‖ a‖ * ‖ b‖
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (b : ↑ (H v e μ)), ‖ a • b‖ ≤ ‖ a‖ * ‖ b‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (b : ↑ (H v e μ)), ‖ a • b‖ ≤ ‖ a‖ * ‖ b‖
intro r f d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
‖ r • f‖ ≤ ‖ r‖ * ‖ f‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (b : ↑ (H v e μ)), ‖ a • b‖ ≤ ‖ a‖ * ‖ b‖
apply le_of_eq d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r • f‖ = ‖ r‖ * ‖ f‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (b : ↑ (H v e μ)), ‖ a • b‖ ≤ ‖ a‖ * ‖ b‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r • f‖ = ‖ r‖ * ‖ f‖
show r • f = r * f by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r • f‖ = ‖ r‖ * ‖ f‖
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ = ‖ r‖ * ‖ f‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (b : ↑ (H v e μ)), ‖ a • b‖ ≤ ‖ a‖ * ‖ b‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ = ‖ r‖ * ‖ f‖
show ‖ r‖ = | r| by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ = ‖ r‖ * ‖ f‖
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ = | r| * ‖ f‖
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (b : ↑ (H v e μ)), ‖ a • b‖ ≤ ‖ a‖ * ‖ b‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ = | r| * ‖ f‖
← mul_self_inj (H_norm_nonneg (r * f)) (Left.mul_nonneg (abs_nonneg r) (H_norm_nonneg (f)))d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ * ‖ r * f‖ = | r| * ‖ f‖ * (| r| * ‖ f‖ )
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ * ‖ r * f‖ = | r| * ‖ f‖ * (| r| * ‖ f‖ )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (b : ↑ (H v e μ)), ‖ a • b‖ ≤ ‖ a‖ * ‖ b‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ * ‖ r * f‖ = | r| * ‖ f‖ * (| r| * ‖ f‖ )
show ‖ r * f‖ * ‖ r * f‖ = ‖ r * f‖^ 2 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ * ‖ r * f‖ = | r| * ‖ f‖ * (| r| * ‖ f‖ )
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ ^ 2 = | r| * ‖ f‖ * (| r| * ‖ f‖ )
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (b : ↑ (H v e μ)), ‖ a • b‖ ≤ ‖ a‖ * ‖ b‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ ^ 2 = | r| * ‖ f‖ * (| r| * ‖ f‖ )
show | r| * ‖ f‖ * (| r| * ‖ f‖ ) = (| r| * ‖ f‖ )^ 2 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ ^ 2 = | r| * ‖ f‖ * (| r| * ‖ f‖ )
ring ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ ^ 2 = (| r| * ‖ f‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (b : ↑ (H v e μ)), ‖ a • b‖ ≤ ‖ a‖ * ‖ b‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ ^ 2 = (| r| * ‖ f‖ ) ^ 2
← inner_eq_sq_norm (r * f),d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ⟪ r * f, r * f⟫ _ℝ = (| r| * ‖ f‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a ‖ r * f‖ ^ 2 = (| r| * ‖ f‖ ) ^ 2
inner_mul_left f (r * f) r d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a r * ⟪ f, r * f⟫ _ℝ = (| r| * ‖ f‖ ) ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a r * ⟪ f, r * f⟫ _ℝ = (| r| * ‖ f‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (b : ↑ (H v e μ)), ‖ a • b‖ ≤ ‖ a‖ * ‖ b‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a r * ⟪ f, r * f⟫ _ℝ = (| r| * ‖ f‖ ) ^ 2
inner_symmetric, d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a r * ⟪ r * f, f⟫ _ℝ = (| r| * ‖ f‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a r * ⟪ f, r * f⟫ _ℝ = (| r| * ‖ f‖ ) ^ 2
inner_mul_left f f r, d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a r * (r * ⟪ f, f⟫ _ℝ) = (| r| * ‖ f‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a r * ⟪ f, r * f⟫ _ℝ = (| r| * ‖ f‖ ) ^ 2
inner_eq_sq_norm d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a r * (r * ‖ f‖ ^ 2 ) = (| r| * ‖ f‖ ) ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a r * (r * ‖ f‖ ^ 2 ) = (| r| * ‖ f‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (b : ↑ (H v e μ)), ‖ a • b‖ ≤ ‖ a‖ * ‖ b‖
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a r * (r * ‖ f‖ ^ 2 ) = (| r| * ‖ f‖ ) ^ 2
show r * (r * ‖ f‖^ 2 ) = r^ 2 * ‖ f‖^ 2 by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a r * (r * ‖ f‖ ^ 2 ) = (| r| * ‖ f‖ ) ^ 2
ring , d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a r ^ 2 * ‖ f‖ ^ 2 = (| r| * ‖ f‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a r * (r * ‖ f‖ ^ 2 ) = (| r| * ‖ f‖ ) ^ 2
← sq_abs rd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a | r| ^ 2 * ‖ f‖ ^ 2 = (| r| * ‖ f‖ ) ^ 2
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ r : ℝ f : ↑ (H v e μ)
a | r| ^ 2 * ‖ f‖ ^ 2 = (| r| * ‖ f‖ ) ^ 2
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (a : ℝ) (b : ↑ (H v e μ)), ‖ a • b‖ ≤ ‖ a‖ * ‖ b‖
ring
}
inner := H_inner
norm_sq_eq_inner := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), ‖ x‖ ^ 2 = RCLike.re ⟪ x, x⟫ _ℝ
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), ‖ x‖ ^ 2 = RCLike.re ⟪ x, x⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), ‖ x‖ ^ 2 = RCLike.re ⟪ x, x⟫ _ℝ
intro f d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
‖ f‖ ^ 2 = RCLike.re ⟪ f, f⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), ‖ x‖ ^ 2 = RCLike.re ⟪ x, x⟫ _ℝ
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
‖ f‖ ^ 2 = RCLike.re ⟪ f, f⟫ _ℝ
← inner_eq_sq_normd : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = RCLike.re ⟪ f, f⟫ _ℝ
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f : ↑ (H v e μ)
⟪ f, f⟫ _ℝ = RCLike.re ⟪ f, f⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x : ↑ (H v e μ)), ‖ x‖ ^ 2 = RCLike.re ⟪ x, x⟫ _ℝ
rfl
}
conj_symm := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ↑ (H v e μ)), (starRingEnd ℝ) ⟪ y, x⟫ _ℝ = ⟪ x, y⟫ _ℝ
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ↑ (H v e μ)), (starRingEnd ℝ) ⟪ y, x⟫ _ℝ = ⟪ x, y⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ↑ (H v e μ)), (starRingEnd ℝ) ⟪ y, x⟫ _ℝ = ⟪ x, y⟫ _ℝ
intro f g d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
(starRingEnd ℝ) ⟪ g, f⟫ _ℝ = ⟪ f, g⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ↑ (H v e μ)), (starRingEnd ℝ) ⟪ y, x⟫ _ℝ = ⟪ x, y⟫ _ℝ
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
(starRingEnd ℝ) ⟪ g, f⟫ _ℝ = ⟪ f, g⟫ _ℝ
inner_symmetric f g d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
(starRingEnd ℝ) ⟪ g, f⟫ _ℝ = ⟪ g, f⟫ _ℝ
] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)
(starRingEnd ℝ) ⟪ g, f⟫ _ℝ = ⟪ g, f⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ↑ (H v e μ)), (starRingEnd ℝ) ⟪ y, x⟫ _ℝ = ⟪ x, y⟫ _ℝ
rfl
}
add_left := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y z : ↑ (H v e μ)), ⟪ x + y, z⟫ _ℝ = ⟪ x, z⟫ _ℝ + ⟪ y, z⟫ _ℝ
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y z : ↑ (H v e μ)), ⟪ x + y, z⟫ _ℝ = ⟪ x, z⟫ _ℝ + ⟪ y, z⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y z : ↑ (H v e μ)), ⟪ x + y, z⟫ _ℝ = ⟪ x, z⟫ _ℝ + ⟪ y, z⟫ _ℝ
intro f g h d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g, h : ↑ (H v e μ)
⟪ f + g, h⟫ _ℝ = ⟪ f, h⟫ _ℝ + ⟪ g, h⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y z : ↑ (H v e μ)), ⟪ x + y, z⟫ _ℝ = ⟪ x, z⟫ _ℝ + ⟪ y, z⟫ _ℝ
exact H_inner_add_left f g h
}
smul_left := by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ↑ (H v e μ)) (r : ℝ), ⟪ r • x, y⟫ _ℝ = (starRingEnd ℝ) r * ⟪ x, y⟫ _ℝ
{ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ↑ (H v e μ)) (r : ℝ), ⟪ r • x, y⟫ _ℝ = (starRingEnd ℝ) r * ⟪ x, y⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ↑ (H v e μ)) (r : ℝ), ⟪ r • x, y⟫ _ℝ = (starRingEnd ℝ) r * ⟪ x, y⟫ _ℝ
intro f g r d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)r : ℝ
⟪ r • f, g⟫ _ℝ = (starRingEnd ℝ) r * ⟪ f, g⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ↑ (H v e μ)) (r : ℝ), ⟪ r • x, y⟫ _ℝ = (starRingEnd ℝ) r * ⟪ x, y⟫ _ℝ
rw [ d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)r : ℝ
⟪ r • f, g⟫ _ℝ = (starRingEnd ℝ) r * ⟪ f, g⟫ _ℝ
show r • f = r * f by d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)r : ℝ
⟪ r • f, g⟫ _ℝ = (starRingEnd ℝ) r * ⟪ f, g⟫ _ℝ
rfl ] d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ f, g : ↑ (H v e μ)r : ℝ
⟪ r * f, g⟫ _ℝ = (starRingEnd ℝ) r * ⟪ f, g⟫ _ℝ
d : ℕ Ω : Set (Vector ℝ d) inst✝¹ : MeasureSpace ↑ Ω v : eigen e : ℕ → ↑ Ω → ℝ μ : Measure ↑ Ω inst✝ : IsFiniteMeasure μ
∀ (x y : ↑ (H v e μ)) (r : ℝ), ⟪ r • x, y⟫ _ℝ = (starRingEnd ℝ) r * ⟪ x, y⟫ _ℝ
exact inner_mul_left f g r
}